HOWTO · Git

Git Rebase 오리진/브랜치 대 Git Rebase 오리진 브랜치

이 기사에서는 git rebase origin/branch 명령과 git rebase origin branch 명령의 차이점에 대해 설명합니다.

이 기사에서는 git rebase origin/branch 명령과 git rebase origin branch 명령의 차이점에 대해 설명합니다. 원격에서 리베이스하기 위해 두 명령을 모두 사용하지만 곧 논의할 것처럼 실제 용도는 다양합니다.

git rebase origin/branchgit rebase origin master 명령의 차이점

두 명령의 차이점을 알아보기 위해 각 명령이 수행하는 작업과 수행하는 작업 흐름을 살펴보겠습니다.

git rebase origin/branch 명령

아래 예를 살펴보겠습니다.

$ git rebase origin/master

이 명령은 업스트림의 마스터 브랜치에서 브랜치를 리베이스하고 싶다는 것을 의미합니다. 그러나 명령 자체로는 작업을 완료할 수 없습니다.

이 명령을 실행하기 전에 업스트림 마스터 브랜치에서 가져와야 합니다.

또는 기존 방식을 사용할 수 있습니다.

  1. git checkout master 명령을 사용하여 master 브랜치로 전환합니다.
  2. git pull origin master 명령을 사용하여 업스트림 master 브랜치에서 가져옵니다.
  3. git checkout <branch-name> 명령을 사용하여 리베이스하려는 분기로 다시 전환합니다.
  4. 이제 git rebase origin/master를 실행할 수 있습니다.

이렇게 하면 업스트림 마스터 분기의 커밋으로 분기의 커밋이 업데이트됩니다.

git rebase origin master 명령

git rebase origin master는 두 커밋의 조합입니다.

$ git checkout master

그리고

$ git rebase origin

우리 모두는 git rebase originorigin의 추적 분기, 즉 업스트림에서 리베이스를 원한다는 것을 의미한다는 것을 알고 있습니다. 따라서 git rebase origin mastermaster 분기로 전환하고 원격 추적 분기에서 리베이스할 것이라고 추론할 수 있습니다.

마스터 분기에 대한 원격 추적 분기가 없으면 명령이 실패합니다. 아래와 같이 업스트림 추적 분기를 설정하여 이 문제를 해결할 수 있습니다.

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

위의 명령을 실행하기 전에 master 브랜치에서 체크아웃했는지 확인하십시오.

결론

위에서 git rebase origin master는 업스트림 추적 분기에서 master 분기를 리베이스하는 데 사용되고 git rebase origin/master는 업스트림 에서 특정 분기를 리베이스하는 데 사용된다는 결론을 내릴 수 있습니다. 마스터 분기.

그러나 git rebase origin/master는 업스트림 master 분기에서 새 커밋을 가져오지 않습니다. 리베이스하기 전에 로컬 마스터 분기를 업데이트해야 합니다.