git pull 후 코드 변경 사항을 보는 방법은 무엇입니까?


87

나는 일을 한 후 코드를 변경 검사 싶습니다 git pull. 현재는 어떤 파일이 변경되는지 보여주고 있습니다. 어떤 코드가 변경되었는지 어떻게 확인할 수 있습니까?


이것을 참조하십시오 .
unrealsoul007

답변:


98
git log --name-status -2

마지막 두 커밋에서 변경된 파일의 이름을 보여줍니다.

git log -p -2

변경 사항을 직접 보여줍니다.

당기기 전에

git fetch
git log --name-status origin/master..

파일 이름과 함께 검색하려는 커밋을 보여줍니다.


68

당기기 전에

@iblue가 a fetchdiff병합하기 전에 변경 사항을 검토 할 수 있습니다 .

$ git fetch
$ git diff master...origin/master

공유 된 상위 및 원본 / 마스터 ( x아래에 표시된 커밋 ) 에 대한 차이를 의미하는 삼중 기간에 유의하십시오 .

SP---o---o [master]
  \
   x---x [origin/master]

당긴 직후

pull 출력의 첫 번째 줄은 다음과 같습니다.

$ git pull
Updating 37b431a..b2615b4
...

그런 다음 간단히 수행 할 수 있습니다.

$ git diff 37b431a..b2615b4

또는 다른 명령 :

$ git log --name-status 37b431a..b2615b4

나중에

뽑은 지 오래되었고 마지막 뽑기에서 가져온 변경 사항을 알고 싶다면 다음을 사용하여 조회 할 수 있습니다.

$ git reflog | grep -A1 pull | head -2

풀 후의 해시와 풀 전의 해시를 보여줍니다.

b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master

그런 다음 다음 두 해시로 동일한 작업을 수행 할 수 있습니다.

git diff 37b431a..b2615b4

3
이것은 그 당시에 얼마나 많은 커밋이 풀 렸는지 기억이 나지 않을 때 마지막 풀 동안 어떤 파일이 변경되었는지 확인할 수있는 유일한 대답입니다.
kremuwa

22

git pullgit fetch및 의 바로 가기 일 뿐이 므로 원본에서 분기를 가져온 다음 병합하기 전에 차이점을 표시하도록 git merge실행할 수 있습니다 git fetch. 이렇게 :

git fetch                      # Load changes from remote server
git diff master origin/master  # Show differences
git merge origin/master        # Merge remote changes with local changes

master가 아닌 다른 브랜치에서 실행하는 경우 , 물론 위 명령에서 브랜치 이름을 변경해야합니다.


1
```git diff --name-only master origin / master [path]```
jiacheo

10

가져온 내용을 바로 이전 커밋의 소스와 비교할 수 있습니다.

git diff branch_name@{1}

예 :

git diff master@{1}

n 커밋 뒤에있는 소스와 비교하기 위해,

git diff branch_name@{n}

2
이것은 좋은 대답이지만 설명은 올바르지 않습니다 : "For comparison with the sources n commits behind" . @{n}구문 실제로 수단 nth이전 위치 분기 / 헤드한다. 당신이 풀을했던 지난 시간이 있기 때문에 예를 들어, 10 커밋이 있었다 master@{1}사전을 참조 할 위치master10, 커밋 하기 전에. 이것이 사용 @{n}이 풀 후 변경 사항을 확인하는 데 유용한 이유 입니다.
wisbucky

이것이 제가 찾던 답입니다! 설명해 주셔서 감사합니다 @wisbucky
tamerlaha

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.