FishPlayer

一个喜欢摸鱼的废物

0%

修改commit消息

前几天打游戏太疯了,上班的时候脑子都不清醒,commit的时候输错了东西,push的时候被block了才发现。
结果还因为不会改commit消息,还错误地操作使得工作全没了。

修改当前最新的一条commit消息

1
2
3

# 修改当前最新的一条commit消息
git commit --amend

非常简单,一个命令就搞定了。然后就可以正常push了。

如果是需要修改已经推送到远端的commit,可以再这个命令之后尝试push —force。
不过我觉得这样的情景非常之少,都已经PUSH上去了为啥还需要改啊:(

修改往前第N条commit消息(还未推送到远端的)

如图,我需要修改图中选定的那一个commit。从我当前位置数,是第3个commit。
则X就应该是3。

1
2
3
4
5
6
7
8
9
10
11

git rebase -i HEAD~X
# X is the number of commits to go back
# Move to the line of your commit, change pick into edit,
# then change your commit message:
git commit --amend
# Finish the rebase with:
git rebase --continue

# :D
git push

执行rebase后,会让选择需要对哪条commit进行什么样的操作。

需要编辑消息则就把pick改成edit,然后保存,退出文本编辑。就可以使用 commit —amend 来修改消息了,然后再执行下一条命令完成rebase。
然后就是快乐push。

其实也可以同时edit多条commit。这样,在使用 commit —amend 时会从最老的commit开始编辑。完成一条的编辑就需要 rebase —continue。
之后才能继续编辑下一条。

如果修改了曾经push过的commit,就需要push —force。