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

09-04 10:05