如题,其实这篇博文本不想写,因为网上随便一搜,一大片都是关于git commit --amend 的用法,但是我还是决定写了,因为我在网上没找到我想要的答案,然后盲目之下,我还产生了严重失误! 所以还想着写下来,希望可以帮到你,避免跟我一样的错误。
我相信大家在使用git时,难免会因为兴奋轻易的就进行提交,并push到远端去了。但是有可能你这次commit的文件有个小问题(比如你忘记删除一个无用的注释)。如果你删除注释后,在进行一次提交的话,远端就会看到你的提交记录。不仅提交次数变多了,而且看起来不美丽。 这时候你就需要git commit --amend 命令了,该命令可以认为就是修改你最近的一次提交,使用完该命令后,再进行push,远端只能看到这是一次完美的提交,不会有任何痕迹。
首先在终端输入:git commit --amend ,此时你会进入一个文件的编辑中,这个文件其实就是你提交时的说明,如下图所示: 此时你更改这个文件里面的信息,就是在更改你上次提交时的说明信息; 想要更改说明信息就更改,然后直接:wq就可以保存并退出了,这个时候你就能看到提交的反馈,然后直接push,到远端查看,会发现一个干净的commit。
好,有的同学可能会问了,我只看到修改说明信息的地方,你为啥不告诉我,我怎么修改此次的提交的文件呢?这就是关键点,很多博文都不说这个点,我不知道是他们太牛叉,还是他们没考虑这个或者没这个需求? 反正我的需求就是更改提交的文件的内容。注意,如果你想要让你更改后的文件,提交到远端去,一定要把文件更改完之后,add到暂存区,之后再进行git commit --amend 。 所以修改最近一次提交的文件或说明的流程如下:
git add *.py
git commit --amend
---------------------------
这里是关于最近一次提交的说明文件,如果想要更改最进行一次提交的说明,
键入 i 即可编辑,然后esc退出,:wq,退出该文件并保存
-----------------------
git push
这里可能有同学又要问了,我能不能git commit --amend 某些文件啊,我咋没看到你要提交的文件名参数在哪呀?瑷~这就是我遇到的严重失误,我进行了这些操作之后,到远端,我发现我提交了一大批文件上去了,根本不是我想要的仅修改本次commit中提交的文件,这是咋回事儿呢? 这或许跟我的一个git习惯有关,我一般喜欢直接git add . ,然后我再分门别类commit其中部分文件。我的那个问题的就是因为在我git commit --amend 时,我add了很多不必要或者说不是此次提交相关的文件。
即git commit --amend 是直接将你暂存区里面的所有文件,作为你最近的一次提交的修改!!! 所以在各位使用该命令修改最近提交的文件内容时,一定要注意这个点!!!!
|