一般都会从主分支拉自己的分支,然后进行修改。
有时候会出现,已经推送到远程了一个版本,但是又要继续修改。
如果再推送的话,远程就会有两笔分支,这两笔一个是 feature,一个是 fix。
在第一笔还未合并到主分支的情况下,可以 squash 这两笔提交,让提交记录简洁一些。
合并提交
git rebase -i HEAD~2
HEAD~2合并最近的两笔
pick 4d7d0b8 Implement feature A
pick a3f9c21 Fix bug B
- 将第二行改为 squash
pick 4d7d0b8 Implement feature A
squash a3f9c21 Fix bug B
- 保存并关闭
# This is a combination of 2 commits.
Implement feature A
Fix bug B
- 修改提交信息,把两笔提交的消息合并成一个
强制推送
如果第一笔历史已经推送到远程,并且是个人独立的工作分支,可以强制推送进行覆盖
git push --force-with-lease