2016-06-07 4 views
1

당겨 받기 또는 가져 오기 중에 로컬 마스터가 원격 마스터 뒤에 있는지 여부를 알 수 있습니다.GIT 리포지토리의 분기 개정

내가 잡아 당기거나 가져 오는 전에, 나는/리베이스/가져 오기 수행이

답변

1

내가 아는 방법이 없습니다 뒤에있는 경우 병합 할 수 있도록 내 로컬 마스터가 REPO 마스터 뒤에 있는지 확인하고 싶은 말은. 가져 오는 경우 즉시 rebase 할 필요가 없습니다. 그러면 "git status"가 앞이나 뒤에 있는지 (또는 둘 다) 알려줍니다. 원하는 정보를 얻으려면 "원격 쿼리"를 수행해야합니다. 가져 오기는 해당 쿼리입니다.

1

git fetch은 매우 특별한 목적입니다. 추적 분기를 업데이트하여 원격 지점과 비교하여 지점이 얼마나 멀리 떨어져 있는지 알 수 있습니다. 원격지의 변경 사항을 로컬 지사에 병합/적용하지 않습니다. git pull 않습니다.

은 그리고 그 git pullgit fetch

+0

"당기거나 가져 오지 않고"어떻게됩니까? "당기거나 가져 오기 전에"? – VonC

+0

나는 'git fetch'와 'git pull'의 작업에 대해 혼란 스러웠다. 그래서,'git fetch'가 문제의 문제를 해결할 것이기 때문에 나는 그것을 명확히 할 생각을했습니다. –

+0

아니요, 그 사람은 혼란스럽지 않았습니다. 질문은 "* 페치하지 않고 *"였습니다. 너는 그 질문에 대답하지 않았다. – VonC

1

당신은 여전히 ​​어떤 방법으로 원격 REPO에 문의해야 할 차이입니다. 당신에게 힌트를 줄 수

유일한 명령은 더 정확하게

git ls-remote origin 

git ls-remote

입니다 비교 :

git ls-remote origin -h refs/heads/master 
git rev-list --max-count=1 origin/master 

을 SHA1이 지점은 로컬 가지고있는 것과 다른 마스터에 대해 반환 된 경우, 지사가 뒤에 있거나 (SHA1이 로컬 지점 HEAD에서 액세스 할 수있는 경우)

적어도 git ls-remote , 당신은 모든 repo를 가져 오지 않습니다.

+0

http://stackoverflow.com/a/33419013/6309에서 스크립트 예제를 볼 수 있습니다. – VonC

관련 문제