【Git小知识】git commit --amend 解决提交遗漏问题

场景

当你在本地开发分支上一通操作猛如虎之后,经过自测,感觉已经可以提交到远端仓库,然后你又一通操作,提交完毕。正准备跟女神一起去吃宵夜,就在准备合上电脑那一刹那,你突然发现有几个文件竟然没有提交!!!这些改动都属于刚刚那次提交,你现在可以重新提交一下,这样会产生多余的一次提交,作为一个有追求的工程师,你打开手机,给女神发了个消息“稍等我一下,马上就好,我很快的“(误)你是绝对不允许多余的一次提交产生的,于是,这里你就要用到
git commit --amend

使用流程

首先,你需要把本次修改加到本地

git add .

然后你需要

git commit --amend

这时会弹出一个上一次提交的时候你写的提交信息,保存这个信息,快捷键:摁住shift不松手同时双击z。(这是vim在命令模式下保存并退出vim的快捷键

然后把远端代码拉下来

git pull

这一pull不要紧,这个时候如果本次修改不是新增文件的操作,就可能会出现冲突,出现冲突不可怕,如果你喜欢用图形工具进行解决,就可以打开你用的git客户端或者idea里的git窗口之类的工具进行冲突解决。具体怎么解决冲突,见另一篇文章《【Git小知识】手把手教你解决冲突》(还没写…)

解决冲突对你来说,一定小菜一碟,解决完之后再执行

 git reset --merge  

然后

git rebase

这一rebase又出来一堆幺蛾子,不要怕,这里的意思大概就是,你是不是应该先add一下啊,那就add一下呗

git add .

然后再

git rebase --continue

最后再push到远端就可以啦

git push origin 你的feature名

很开心你能看到这里,但是我不得不告诉你一个悲伤的消息,如果你使用的git仓库是GitHub,那么很遗憾,GitHub目前不支持git commit --amend去追加修改而保持不增加提交记录。GitHub目前你的每次提交都会生成一个新的提交记录,即使你使用的是git commit --amend,不过gerrit和gitlab都支持的。实在不行,让你们公司研究一下gitlab吧,支持持续集成,你们值得拥有~

感谢你的阅读,如果有任何问题欢迎给我留言或者邮件与我联系zykstand@foxmail.com

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页