로컬 자식 분기와 원격 분기를 비교하는 방법은 무엇입니까? 브랜치 간을 어떻게

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>

로컬 지사와 원격 지사를 비교합니다