在开发过程中,保持代码记录清晰会更方便追踪,对代码审核人员也更有便宜。
修改commit提交
比如我们刚提交了一个commit,但之后要追加代码到已经推送到远程仓库的提交中,这时我们可以选择修改commit提交,使新的更改也推送到远程仓库,但只显示一次commit记录
使用 git commit --amend 命令:首先,在你想要追加代码的提交之后,进行你的代码变更和暂存,可以使用 git add 命令暂存代码变更。
然后,使用 git commit --amend 命令来修改最近一次的提交:
git commit --amend此时,Git 会打开一个文本编辑器,让你编辑提交信息。保持提交信息不变即可。
保存并关闭编辑器后,你的代码变更会追加到最近一次的提交中。
最后,使用 git push -f origin <branch_name> 命令来强制推送修改到远程仓库:
git push -f origin <branch_name>
(git push -f origin local_branch:remote_branch)请注意,-f 参数是用于强制推送的,必须小心使用,避免破坏其他人的工作。
ctrl+o,enter,ctrl+x
合并commit提交
有时我们已经多次commit,需要将多次commit合并,只保留一次提交历史。
git log 查看当前commit记录
使用 git rebase -i HEAD~n
n代表你要合并的commit次数,假设是3,那么输入以后会列出3次提交的commit提交记录,最新的提交记录在最上面,倒序排下来的。在commitId前会有pick字母,把需要采用的commit保留pick,使用squash,把commit合掉,也可简写为s。然后保存退出,git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。如果你想放弃这次压缩的话,执行以下命令:
git rebase --abort
然后保存退出,git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
git add .
git rebase --continue
不过此时远程的信息仍未改变,下面操作会把修改同步到远程git仓库
最后,使用 git push -f origin <branch_name> 命令来强制推送修改到远程仓库:
git push -f origin <branch_name>