Git提交与修改
Git要求开发者在编写提交的时候,尽量要填写有用的信息;在工作中更甚,提交写的完善完备更能让问题追踪变得容易可控,不过可能会遇到不小心写错了提交内容的情况,这时候就一定要在推送之前想办法把错误的提交信息修正掉。
提交
Git提交是一件非常简单的事情,对于我来说不过是先检查一下需要提交的文件,然后直接一个git commmit
就结束了的工作,当敲下回车,就会出现熟悉的界面:
1 | # Please enter the commit message for your changes. Lines starting |
其中第一行就是提交描述信息,也是最重要的地方;第六行是提交时间,第十二行开始则是本次提交修改的文件概览。
有的时候开发者比较自信或者非常熟练,直接使用git commit -m <message>
来进行快速提交。其实commit中除了-m --message
之外还可以快速设置一些其他的信息:
1 | Commit message options |
这边随便列举了几个,如我们可以快速设置作者、时间,甚至使用--reset-author
来把某个提交的作者设置成自己,这个参数的说明很有意思,而且后面标注了,要伴随-C/-c/--amend
使用,这是什么参数?
修改提交
我们使用man
命令来查看一下说明,可以看到其实和:
1 | $ git reset --soft HEAD^ |
是等价的,实际上是创建了一个新的提交而不是直接修改上一个提交,当我键入git commit --amend
之后,就会出现熟悉的界面了,这时候就可以把错误的提交信息修正掉了。
同时也可以和其他快捷参数一起使用,比如说你不想看你之前提交信息写的究竟是什么,也可以直接使用
1 | $ git commit --amend -m <message> |
来快速修改提交信息,同时也可以根据上述参数描述进行修改,比如修改时间:
1 | $ git commit --amend --date <date> |
不过这里需要注意的是这里的参数是特定的时间格式,可以尝试使用date
,不过不能直接使用date
命令,因为此处的参数是要求符合RFC 2822
标准的,所以需要使用如下命令来查看:
1 | $ date -R |
然后再根据这个格式修改时间就可以完成修改commit提交时间的操作了
1 | $ git commit --amend --date='Mon, 05 Aug 2019 10:50:35 +0800' |