⚠️ 无论是
rebas
e 还是merg
e 都是一项危险操作,请确保充分理解的命令的含义,并确保每一行代码无误后再继续。 如果不确定,请一定记得做好数据备份!!!
为了合并 dev 分支到 master 分支,同时确保代码不丢失且提交记录规整,你可以使用交互式的 git rebase 命令。这允许你重新排列、修改、合并或分割提交。以下是操作步骤:
git checkout dev
git rebase -i master
这会打开一个编辑器,列出所有 dev 分支中相对于 master 的提交。编辑器中的每一行都代表一个提交,格式为:<action> <commit-hash> <commit-message>
。
pick
更改为 squash
或 fixup
。squash
会将提交合并到前一个提交中,并允许你编辑提交消息。fixup
会将提交合并到前一个提交中,但会丢弃当前提交的消息。 要修改某个提交,将操作从 pick
更改为 edit
。 完成调整后,保存并关闭编辑器。Git 会执行你指定的操作。git add <changed-files>
git commit --amend
git rebase --continue
git checkout master
git merge dev
git push
通过这个过程,你可以确保在合并时提交记录更加规整,而且不会丢失任何代码更改。请注意,这种方法会改变提交历史,所以在进行此操作时务必小心,确保其他团队成员了解你的操作。
注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。