繁体   English   中英

git在本地合并origin / branch与merge分支

[英]git merge origin/branch vs. merge branch locally

什么是当我合并的不同origin/branchXbranchY和合并branchXbranchY

origin/branchX是一个远程跟踪分支,每次执行git fetch都会通过远程存储库的更改进行更新。 另一方面, branchX是此分支的本地版本。 branchX可能与origin/branchX不同步,而origin/branchX可能与远程存储库中的实际内容不同步。

因此,合并的差异将取决于branchX的各种变体的branchX 如果要将最新的branchX合并到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的本地副本合并到branchY而不同步任何分支与远程。 例如,如果新的更改进入了遥控器上的branchX并且您不想将它们带入branchY ,那么这将是一个典型的用例。 在这种情况下,您将执行如下合并:

git checkout branchY
git merge branchX

合并远程分支时 - 您正在使用已由其他开发人员应用于其的所有远程更改来检索它,但可能尚未在您的本地分支上(尽管尚未将您的本地更改推送到远程分支)

合并本地分支时,您将它与您在本地完成但尚未推送到远程分支的所有更改合并,但没有其他开发人员应用的所有远程更改,但可能尚未在您的当地分公司。

         -*-*-* branchX 
*-*-*-*-/-*-*-*-*-* Origin/branchX 

想象一下,这些是您的本地和远程分支机构,您已经将更改提交两次到您当地的分支机构,并且有人添加了5次提交并推送到repo,因此您还没有在本地分支上拥有这5个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM