diff
로컬 브랜치와 원격 브랜치 간을 어떻게 알 수 있습니까?
답변
원격 추적 분기를 업데이트하려면 git fetch
먼저 다음 을 입력해야합니다 .
git diff <masterbranch_path> <remotebranch_path>
당신이 할 수있는 git branch -a
다음 목록에서 지점 이름을 선택 (로컬 및 원격) 모든 지점을 나열 (단지 제거 remotes/
원격 지사 이름에서.
예 : git diff master origin/master
(여기서 “master”는 로컬 마스터 분기이고 “origin / master”는 원격 원점 및 마스터 분기입니다.)
답변
git diff <local branch> <remote>/<remote branch>
예를 들어 git diff master origin/master
, 또는git diff featureA origin/next
물론 할 수 있습니다 말했다 지점 원격 추적 당신이해야 할 git fetch
첫 번째; 원격 저장소의 브랜치에 대한 최신 정보가 필요합니다.
답변
첫 번째 유형
git branch -a
사용 가능한 지점 목록을 가져옵니다. 출력에서 다음과 같은 것을 볼 수 있습니다
* master
remotes/main/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/mt
remotes/upstream/master
remotes/upstream/mt
그런 다음 diff를 보여주십시오
git diff --stat --color remotes/main/master..origin/master
git diff remotes/main/master..origin/master
답변
특정 지점에 있고 추적중인 업스트림 지점과 비교하려면 다음을 사용하십시오.
git diff @{upstream}
업스트림이 설정되지 않은 경우 (일반적으로 의견 에 Arijoon 에게 감사드립니다 )
git diff @{push}
씨의 이 답변 에 대한 자식 문서 개정을 지정은 있다 :
<branchname>@{upstream}
예를 들어master@{upstream}
, 분기 이름@{u}
의 접미사
@{upstream}
(약식<branchname>@{u}
)는로 지정된 분기branchname
가 (branch.<name>.remote
및로 구성됨) 위에 빌드되도록 설정된 분기를 나타냅니다branch.<name>.merge
. 누락branchname
은 현재 기본값으로 설정됩니다.
답변
나는 다음의 결과를 훨씬 잘 이해한다.
git diff <remote-tracking branch> <local branch>
로컬 분기를 밀면 무엇이 삭제되고 추가 될지 보여줍니다. 물론 그것은 역으로 동일하지만 나에게는 더 읽기 쉽고 앞으로 일어날 일을 보는 것이 더 편합니다.
답변
쉬운 방법 :
git fetch
git log -p HEAD..FETCH_HEAD
먼저 기본 원격 (원점)에서 변경 사항을 가져옵니다. 리포지토리를 복제하면 자동으로 생성됩니다. 명시적일 수도 있습니다 : git fetch origin master
.
그런 다음 git log는 현재 가져온 분기와 방금 가져온 분기를 비교하는 데 사용됩니다. ( -p
(패치 생성) 옵션은 차이점을 보여줍니다 .)
답변
이것이 내가하는 방법입니다.
#To update your local.
git fetch --all
이것은 원격에서 모든 것을 가져 오므로 차이를 확인할 때 차이점을 원격 분기와 비교합니다.
#to list all branches
git branch -a
위의 명령은 모든 분기를 표시합니다.
#to go to the branch you want to check difference
git checkout <branch_name>
#to check on which branch you are in, use
git branch
(or)
git status
이제 다음과 같이 차이점을 확인할 수 있습니다.
git diff origin/<branch_name>
로컬 지사와 원격 지사를 비교합니다