概述
转自:点击打开链接
“好的文章不是写出来的,而是改出来的。” 代码提交也是如此。
程序员写完代码,往往迫不及待地敲下:git commit
,然后发现提交中少了一个文件,或者提交了多余的文件,或者发现提交中包含错误无法编译,或者提交说明中出现了错别字。
Git 提供了一个修改当前提交的快捷命令:git commit --amend
,相信很多人都用过,不再赘述。
如果你发现错误出现在上一个提交或其他历史提交中怎么办呢?我有一个小窍门,在《Git权威指南》里我没有写到哦。
比如发现历史提交 54321
中包含错误,直接在当前工作区中针对这个错误进行修改,然后执行下面命令。
git commit --fixup 54321
你会发现使用了 --fixup
参数的提交命令,不再询问你提交说明怎么写,而是直接把错误提交 54321
的提交说明的第一行拿来,在前面增加一个前缀“fixup!”,如下:
fixup! 原提交说明
如果一次没有改对,还可以再接着改,甚至你还可以针对这个修正提交进行 fixup,产生如下格式的提交说明:
fixup! fixup! 原提交说明
当开发工作完成后,待推送/评审的提交中出现大量的包含“fixup!”前缀的提交该如何处理呢?
如果你执行过一次下面的命令,即针对错误提交 54321 及其后面所有提交执行交互式变基(注意其中的 --autosquash
参数),你就会惊叹 Git 设计的是这么巧妙:
$ git rebase -i --autosquash 54321^
交互式变基弹出的编辑器内自动对提交进行排序,将提交 54321 连同它的所有修正提交压缩为一个提交。
最后
以上就是愤怒路人为你收集整理的git修改上一次提交之前的提交git commit --fixup的全部内容,希望文章能够帮你解决git修改上一次提交之前的提交git commit --fixup所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复