본문 바로가기
TechStudy/Git(hub)

[pre course] git show, git diff

git show 버전:파일 경로                 <- 특정 버전의 특정 파일 내용 확인

                                                              * 버전 = 커밋 해시, 브랜치 이름, 태그

 

Ex) git show master:src/main.js                    <-master브랜치에서 majin.js파일 최신 버전 내용 확인

Ex) git show abc123:src/index.html             <- abc123커밋에서 index.html 파일 내용 확인

 

실전 예제

git log로 커밋 히스토리 확인 (나가기는 밑에 q 입력 후 엔터)

각 commit의 해쉬값이 식별자. 저 값을 카피 후, 

 

git show (기이이이인 노랭이 해쉬값)   입력시

first.text 가 생성되어있다.

 

(방향키 위로 누르면 자동으로 전에 입력했던거 나옴)

 

 

그럼 first.text만 확인하려면?(구체화)

 

 

기존 git show (기이이이인 노랭이 해쉬값)에   :파일이름.확장자    추가시, 해당 파일의 내용을 읽는다.

또는 git show 브랜치이름:파일이름.확장자      해도 같은 결과 출력

 

 

git show 브랜치이름   <- 브랜치내에서 커밋 변경 양상 출력

 

 

 

git diff   또는  git diff --staged         <- git에서 변경된 내용 비교하고 표시하는 것 (변경, 수정 히스토리 파악)

git diff는 아무것도 안뜨지만 staged는 출력된다.

 

 

그러면 복구 명령어인 git restore --staged 파일.확장자  를 해보고 git diff를 해보자

status로 확인하면 다시 이전 상태로 돌아옴

 

이제 git diff에 출력됨

 

결론: git diff = 현 작업과 스테이지 영역 사이 변경내용 확임

        git diff --staged = 스테이지 영역과 최신 커밋 사이 변경내용 확인

 

git diff (commit-hash)       <- 해당 커밋과 현 커밋과의 비교

 

 

 

변경내용 확인, 코드리뷰, 오류 확인 등에 활용

커밋 전에 미리 변경 사항 적용 여부를 점검하는 용도로 쓰자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형