git 编辑提交的技巧

共 995字,需浏览 2分钟

 ·

2020-12-10 16:33

我刚才提交了什么?

如果你用 git commit -m 'xxxxxxx' 提交了一次变化,而你又不确定到底这次提交了哪些内容。你就可以用下面的命令显示当前 HEAD 上的最近一次的提交:


git show


或者

git log -n1 -p


我的提交信息写错了

如果你的提交信息写错了且这次提交还没有推(push), 你可以通过下面的方法来修改提交信息:

git commit --amend --only


这会打开你的默认编辑器 vi, 在这里你可以编辑信息。另一方面, 你也可以用一条命令一次完成:

git commit --amend --only -m 'xxxxxxx'


如果你已经推(push)了这次提交, 你可以修改这次提交然后强推(force push),但是不推荐这么做。因为很有可能需要合并冲突。


新的提交代替旧的,所以如果之前你已经往远程仓库上推过一次修正前的提交,那你现在就必须强推(force push) (-f)。


一般来说,要避免强推。最好是创建和推(push)一个新的提交,而不是强推一个修正后的提交。后者会使那些与该分支或该分支的子分支工作的开发者,在源历史中产生冲突。


我提交的用户名和邮箱不对

如果这只是单个提交,修改它:

git commit --amend --author "New Authorname @mydomain.com>"

但是不推荐修改所有历史。


删除任意一次提交

同样的警告:不到万不得已的时候不要这么做。

git revert commitID


使用 revert 会生成一条新的提交记录。如果你删除之后又想找回,可以再次使用 revert 。把 ID 换成 revert 提交记录的 ID 就可以了。


reset 重置后找回

如果意外的做了一次硬重置,想找回之前的内容。

git reset --hard commitID


因为 Git 对每件事都会有日志,且都会保存几天。

git reflog


你将会看到一个你过去提交的列表,和一个重置的提交。选择你想要回到的提交的 ID,再重置一次:

git reset --hard SHA1234

这样就完成了。

浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报