当前一个提交已被推送时,如何将2个提交合并为一个?
第1步
git add file.txt
git commit
git push
第2步
git add file.txt
git commit
答案 0 :(得分:1)
尝试:
git reset --soft HEAD~2
git commit -m "Your new message"
git push --force
这是什么:
HEAD
)以进行倒数第二次提交(倒数第二次提交,由HEAD~2
表示),但保留索引和工作树。--force
允许您推送此新提交并强制覆盖。当其他人对您的原始问题发表评论时,请注意--force
很可能会惹恼其他已经撤消该分支先前版本的人。您可以将这些更改“压缩”到一个新分支中并单独发布:
git reset --soft HEAD~2
git checkout -b my-new-clean-branch
git commit -m "Your new message"
git push -u origin HEAD
通过这种方式,您不需要--force
。
答案 1 :(得分:1)
您可以使用重新基准化来实现。用git rebase -i HEAD~2
压缩最后两个提交。
然后用git push --force
**强行推入。
**通常,--force-with-lease
比--force
更可取。如果其他人要推送到分支,则您推送的--force
将覆盖他们的更改。 --force-with-lease
仅在没有其他人推送到该分支的情况下才强制推送。
答案 2 :(得分:1)
git add file.txt
git commit --amend
git push --force
关于--force
的{{3}}适用。
答案 3 :(得分:0)
依次执行这些命令。
git add .
git commit --amend
git push origin <branch> -f