如何在Git和Github分支都不同步的情况下同步



我一直在开发一个网页,遇到了同步本地Git和Github的问题。这就是我一直在做的事情:

  1. 我从master分支开始
  2. 我创建了一个名为";标题";用于页面的页眉
  3. 我提交了更改并将其推送到Github
  4. 我做了一次公关;标题";与master
  5. 我重复了这个步骤;主";分支
  6. 我重复了这个步骤;页脚";分支

现在,我已经从";标题""main";,以及";页脚";因为我一直在构建我的网页。

我现在有问题,我的Gibhub显示给我这些消息:

对于";标题":该分支在主之后8次提交

对于";"main":该分支在主之后3次提交

对于";页脚":此分支比主提前1个提交

我尽可能多地尝试公关;主";分支中有我想要的一切,这就是我目前所拥有的。我如何让它们与大师同步?我把这件事搞砸了吗?

谢谢。

考虑到您的分支在不同的时间点被合并到master(通过Pull Request(,您似乎会得到各种"CCD_ 1";对于每个分支

如果您想将其中一个分支重置为当前的主分支(当前拥有所有分支(,只需在本地重新创建它,并从最新的master:开始处理它

git switch master
git pull
git branch -C header
# work on header
git push --force # for the first push only, or
git push --force-with-lease # for the first push only, 
# if you are not alone working on the repository
# make a new PR

(参见"git push --force-with-lease--force"(

这个想法是而不是master之上重新设置header的基础,因为它以前已经合并到master
但是在master之上重新创建header很简单,以便生成新的标头PR。

事实上,这是我每天都要面对的事情!如果您可以在不进行任何本地更改的情况下开始这些步骤,那将是一件好事。

git fetch --all
git checkout master
git merge # at the end of this step, your local copy of `master` and the remote copy should be in sync. You can verify this by running `git log -1` - and all the copies of master should show up in the metadata
git checkout header
git merge # at the end of this step, your local copy of `master` and the remote copy should be in sync. IF you don't have any differences (ie incoming changes), you can skip this step.
git rebase master # This might rebase correctly or cause conflicts - if do, you will have to resolve them
git push --force-with-lease origin header

您需要对具有n commit behind master0、mainfooter的每个分支重复上述步骤。HTH-

相关内容

  • 没有找到相关文章

最新更新