繁体   English   中英

本地和远程分支已经分道扬镳了?

[英]Local and remote branch has been diverged?

这是我的情况

  1. 我从 main 结帐并将我的功能分支设为“我的分支”
  2. 我将更改推送到远程“我的分支”
  3. Main 得到了先进,其他人的合并很少
  4. 现在我在当地的分支机构工作了更多,并想做以下事情
  5. “获取远程主目录的所有更改,并将我的本地分支更改放在其中”
  6. 我试过做 git rebase 和 pull 但这样做只会覆盖我的本地文件,并且由于奇怪的不匹配(来自我的本地和远程)而留下错误。 幸运的是,我已经上演并提交了,所以没有丢失任何更改

为此,您不能进行拉动。 不过,您确实有正确的想法:

git rebase 主要

然后,当本地一切正常时,强制推送( git push --force )覆盖远程“我的分支”,告诉它您的状态(包括从 main 添加的提交)是正确的状态。

假设我们有 master、branch_A(由 master 制作)和 branch_B(也由 master 制作)。 我正在研究branch_A,而我的朋友正在研究branch_B。 我在 branch_B 工作的朋友被合并到 master。 现在我完成了,我也想将我的分支合并到 master。 我将遵循的过程如下:

  1. git checkout master
  2. git pull (使用远程更改更新本地主机)
  3. git checkout branch_A
  4. git rebase master (这将从 master 中提取更改并将您的分支提交堆叠在顶部)
  5. git push origin branch_A -f (需要强制,因为你改变了分支 HEAD 的基础)

希望有帮助。

暂无
暂无

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

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