programing tip

풀하기 전에 로컬과 github의 차이점을 확인하는 방법

itbloger 2020. 8. 11. 08:03
반응형

풀하기 전에 로컬과 github의 차이점을 확인하는 방법


이 질문에 이미 답변이 있습니다.

pull을 사용하기 전에 로컬과 github 마스터 사이에 차이점이 있는지 확인하고 싶습니다.

내가 어떻게 해?


git pull실행에 정말 동일합니다 git fetch다음과 git merge. git fetch일반적으로 이러한 것들처럼 그 - 당신의 소위 "원격 추적 브랜치는"업데이트 origin/master, github/experiment등 당신이 볼 수 있음 git branch -r. 이것은 당신이 할 때 git fetch(또는 성공 했을 때) 업데이트되는 원격 저장소의 분기 상태 캐시와 같습니다 git push.

따라서 originGitHub 저장소를 참조 하는 원격 호출이 있다고 가정하면 다음 과 같이 할 수 있습니다.

git fetch origin

... 그리고 다음을 수행하십시오.

git diff master origin/master

... master와 GitHub 의 차이점을 확인하기 위해 . 이러한 차이점이 만족 스러우면 현재 브랜치 git merge origin/master라고 가정 하고으로 병합 할 수 있습니다 master.

개인적으로, 나는 일을 생각 git fetch하고 git merge분리하는 것은 일반적으로 좋은 아이디어 .


git diff출력 되는 세부 정보에 관심이 없다면 git cherry원격 추적 분기가 로컬 분기보다 앞서있는 커밋 목록을 출력하는 실행 만하면 됩니다.

예를 들면 :

git fetch origin
git cherry master origin/master

다음과 같이 출력됩니다.

+ 2642039b1a4c4d4345a0d02f79ccc3690e19d9b1
+ a4870f9fbde61d2d657e97b72b61f46d1fd265a9

내 로컬 브랜치에 병합되지 않은 내 원격 추적 브랜치에 두 개의 커밋이 있음을 나타냅니다.

이것은 또한 다른 방식으로 작동합니다.

    git cherry origin/master master

아직 원격 저장소에 푸시하지 않은 로컬 커밋 목록이 표시됩니다.


이 작업을 수행하는 또 다른 유용한 명령 (git fetch 후)은 다음과 같습니다.

git log origin/master ^master

이것은 origin / master에 있지만 master에는없는 커밋을 보여줍니다. git pull을 할 때 반대로 수행하여 어떤 커밋이 원격으로 제출되는지 확인할 수도 있습니다.

참고 URL : https://stackoverflow.com/questions/6000919/how-to-check-the-differences-between-local-and-github-before-the-pull

반응형