programing

원격(원본) Git 저장소의 변경 사항을 확인하는 방법

powerit 2023. 5. 23. 22:33
반응형

원격(원본) Git 저장소의 변경 사항을 확인하는 방법

다음 워크플로우를 수행하기 위한 Git 명령은 무엇입니까?

시나리오

저장소에서 복제하고 로컬 저장소에 대해 몇 가지 커밋을 수행했습니다.그동안 동료들이 원격 저장소에 커밋을 했습니다.이제, 저는 다음을 원합니다.

  1. 원격 리포지토리에 다른 사용자의 새 커밋이 있는지 확인합니다.origin?

  2. 마지막 풀 이후로 원격 저장소에 세 개의 새로운 커밋이 있다고 가정하면, 원격 저장소의 커밋을 다르게 하고 싶습니다.HEAD~3와 함께HEAD~2,HEAD~2와 함께HEAD~1그리고.HEAD~1와 함께HEAD.

  3. 무엇이 원격으로 변경되었는지 알고 난 후, 다른 사람들로부터 최신 커밋을 받고 싶습니다.

지금까지 내가 발견한 것들은

2단계: 캐럿 표기법을 알고 있습니다.HEAD^,HEAD^^등과 틸트 표기법HEAD~2,HEAD~3,기타.

3단계: 제 생각에, 그건 그냥.git pull.

할 수 있습니다git fetch origin최신 버전을 가리키도록 리포지토리의 원격 분기를 업데이트합니다.리모컨과의 차이:

git diff origin/master

예, 캐럿 표기법도 사용할 수 있습니다.

원격 변경사항을 적용하려면 다음을 수행합니다.

git merge origin/master
git remote update && git status 

Git에서 당김이 필요한지 확인하기 위한 답변에서 이것을 찾았습니다.

git remote update원격 참조를 최신 상태로 전환할 수 있습니다.그런 다음 다음과 같은 여러 가지 작업 중 하나를 수행할 수 있습니다.

  1. git status -uno추적 중인 분기가 앞에 있는지, 뒤에 있는지 또는 분기되었는지 여부를 알려줍니다.아무것도 표시되지 않으면 로컬과 원격이 동일합니다.

  2. git show-branch *master이름이 마스터로 끝나는 모든 분기(예: 마스터 및 오리진/마스터)의 커밋을 표시합니다.

사용하는 경우-v와 함께git remote update업데이트된 분기를 확인할 수 있으므로 추가 명령이 필요하지 않습니다.

"원점"에서 일어나는 일을 종합적으로 볼 수 있는 좋은 방법은 다음과 같습니다.

git remote show origin

그냥 사용합니다.

git remote update
git status

그런 다음 후자는 (있는 경우) 내 로컬 뒤에 있는 커밋 수를 보고합니다.

그리고나서

git pull origin master

내 지역을 최신으로 업데이트하기 위해 :)

저의 일반적인 질문은 오히려 "새롭거나 레포에서 변경된 모든 것"이기 때문에 변경 사항이 유용합니다.여기서 찾았어요.

git whatchanged origin/master -n 1

하나의 잠재적 솔루션

Alan Hagai Alavi의 솔루션 덕분에 저는 다음과 같은 잠재적인 워크플로우를 만들었습니다.

1단계:

git fetch origin

2단계:

git checkout -b localTempOfOriginMaster origin/master
git difftool HEAD~3 HEAD~2
git difftool HEAD~2 HEAD~1
git difftool HEAD~1 HEAD~0

3단계:

git checkout master
git branch -D localTempOfOriginMaster
git merge origin/master

git status가져오기 후에도 항상 마스터와 오리진/마스터 간의 차이를 표시하지는 않습니다.

조합을 원하는 경우git fetch origin && git status작업하려면 로컬 분기와 오리진 간의 추적 정보를 지정해야 합니다.

# git branch --set-upstream-to=origin/<branch> <branch>

마스터 분기의 경우:

git branch --set-upstream-to=origin/master master

저는 그냥 사용합니다.

git fetch origin

원격 변경 사항을 가져온 다음 로컬 및 보류 중인 원격 커밋( 관련 변경 사항)을 모두 볼 수 있습니다.--all다음과 같은 주장:

gitk --all

언급URL : https://stackoverflow.com/questions/2514270/how-to-check-for-changes-on-remote-origin-git-repository

반응형