将origin/branchX
merge 为branchY
和将branchX
merge 为branchY
有什么区别?
最佳答案
origin/branchX
是一个远程跟踪分支,每次您执行git fetch
时,都会通过远程存储库中的更改进行更新。另一方面,branchX
是此分支的本地版本。 branchX
可能与origin/branchX
不同步,后者又可能与远程存储库中的实际不同步。
因此,进行 merge 的差异将取决于branchX
的各种化身的差异。如果要将最新的branchX
merge 到branchY
中,则应执行以下操作:
git fetch origin # update remote tracking branchX
git checkout branchY # switch to branchY
git merge origin/branchX # merge
如果您还想在此过程中更新本地
branchX
,则可以执行以下操作:git checkout branchX
git pull origin branchX
git checkout branchY
git merge branchX
但是,您可能需要将
branchX
的本地副本 merge 到branchY
中,而无需与远程同步任何分支。例如,如果 Remote 上的branchX
中有新的更改,而您又不想将它们引入branchY
中,这将是一个典型的用例。在这种情况下,您将像这样执行 merge :git checkout branchY
git merge branchX