마스터와 브랜치 사이의 앞 / 뒤 정보?
내 지역의 repo (에서 테스트하기위한 지점을 만든 test-branch
내가 푸시) Github
.
내 Github
계정으로 이동하여 이것을 선택 test-branch
하면 정보가 표시됩니다.
This branch is 1 commit ahead and 2 commits behind master
내 질문은 :
- 이 정보를 로컬로 표시하려면 어떻게해야합니까 (예 : 정보
Github
를보기 위해 열지 않고 터미널에 표시하는 명령 )? 나는 다음을 사용하여 분기 사이의 차이점을 볼 수 있음을 알고 있습니다.
git diff master..test-branch
또는
Meld
(내가 선호하는) 사용 :git difftool master..test-branch
거기에 볼 수있는 방법입니다하지만 만약 궁금 해서요 앞을 하고 뒤에 따로 커밋합니다. IE : 1 커밋을 미리 보여준 다음 2 커밋 을 스스로 보여줄 수있는 방법이 있습니까?
다음은 두 가지를 비교하고 각 분기가 다른 분기보다 얼마나 많은 커밋을 수행하는지 보여주는 트릭입니다 (질문 1에 대한보다 일반적인 답변).
대한 지역 지점 :git rev-list --left-right --count master...test-branch
대한 원격 지사 :git rev-list --left-right --count origin/master...origin/test-branch
결과는 다음과 같습니다.
1 7
이 출력 수단 "비교는 master
, test-branch
7 커밋 앞서이며, 1 뒤에 커밋합니다."
또한 로컬 브랜치를 원격 브랜치와 비교할 수 있습니다 (예 : origin/master...master
로컬 master
브랜치가 해당 원격 브랜치보다 앞 / 뒤에있는 커밋 수 확인) .
먼저 로컬에 몇 개의 수정본이 git fetch
있는지 확인하려면 리모컨의 최신 정보를 가지고 있는지 확인해야합니다.
기본 출력 git status
은 앞뒤로 몇 개의 수정본이 있는지 알려주지 만 일반적으로 너무 자세한 정보를 찾습니다.
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 1 different commit each, respectively.
#
nothing to commit (working directory clean)
나는 선호한다 git status -sb
:
$ git status -sb
## master...origin/master [ahead 2, behind 1]
사실 나는 이것을 간단히 git s
로 지정하고 이것이 상태 확인에 사용하는 주요 명령입니다.
의 "앞서 개정"에서 차이점을 확인 master
하기 위해 "뒤에서 개정"을 제외 할 수 있습니다 origin/master
.
git diff master..origin/master^
의 "개정판 뒤"에서 차이점을 확인하기 위해 다음 origin/master
에서 "미리 개정"을 제외 할 수 있습니다 master
.
git diff origin/master..master^^
앞뒤에 5 개의 개정이있는 경우 다음과 같이 작성하는 것이 더 쉬울 수 있습니다.
git diff master..origin/master~5
git diff origin/master..master~5
최신 정보
앞 / 뒤 수정본을 보려면 다른 지점을 추적하도록 지점을 구성해야합니다. 나에게 이것은 원격 저장소를 복제 할 때와로 분기를 푸시 한 후의 기본 동작입니다 git push -u remotename branchname
. 내 버전은 1.8.4.3이지만 내가 기억하는 한 이런 식으로 작동하고 있습니다.
버전 1.8부터 다음과 같이 추적 분기를 설정할 수 있습니다.
git branch --track test-branch
버전 1.7부터는 구문이 다릅니다.
git branch --set-upstream test-branch
Git 2.5 이상에서는 이제 분기로 푸시하도록 구성된 모든 분기에 대해 앞 / 뒤를 볼 수있는 또 다른 옵션이 있습니다.
git for-each-ref --format="%(push:track)" refs/heads
"더 많은 참조 보기 Unpushed 힘내 커밋 "
git fetch를 수행 한 후 git status를 실행하여 로컬 브랜치의 브랜치 원격 버전보다 앞뒤에있는 커밋 수를 표시 할 수 있습니다.
이것은 다른 브랜치보다 앞뒤에 얼마나 많은 커밋이 있는지 보여주지 않습니다. 옵션은 전체 diff, github를 보거나 위에 링크 된 Vimhsa와 같은 솔루션을 사용하는 것입니다 : 모든 리포지토리의 Git 상태
참고 URL : https://stackoverflow.com/questions/20433867/git-ahead-behind-info-between-master-and-branch
'development' 카테고리의 다른 글
Java에서 메소드의 기본 범위는 무엇입니까? (0) | 2020.06.05 |
---|---|
신속한 do-catch 구문 (0) | 2020.06.05 |
수율을 사용하지 않을 경우 (반품) (0) | 2020.06.05 |
스파 스 어레이 vs 해시 맵 (0) | 2020.06.05 |
한 목록이 다른 목록의 하위 집합인지 어떻게 확인할 수 있습니까? (0) | 2020.06.05 |