首页 > 解决方案 > 在 Git 中为多个推送提交只创建一个提交

问题描述

我有一个fork回购。我经常使用创建一个新分支

git branch -t -b <myBranch> upstream/master

对于我的本地更改,我会:

git commit -m "my message"

git push origin myBranch

同样,要从中获取最新更改master,我会:

git fetch upstream

git merge upstream/master

git push origin myBranch

所有的提交都是历史中的单个提交,这通常很烦人。我如何才能与我的所有更改保持同步master但只提交一次。

我尝试过使用git rebase -i,但尽管我压缩了自己的提交,但它说合并冲突很多次并且弄乱了合并。

标签: git

解决方案


您只需一个额外的步骤就可以做到这一点......将所有更改都放在一个 commit中。在合并上游/主后,立即执行以下操作:

git reset --soft upstream/master
git commit -m "All of my changes"

好的好的......所以这是两个步骤。现在您可以推送..但是使用 -f 因为您正在重写历史

git push -f origin myBranch

推荐阅读