我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
当前回答
我喜欢使用以下内容:
git status git add --all git commit -am “消息走到这里关于变化” git pull <origin master> git push <origin master>
其他回答
您也可以使用 git filter-branch 为此。
git filter-branch -f --msg-filter "sed 's/errror/error/'" $flawed_commit..HEAD
它不像一个虚假的吉特承诺 - 修正,但它特别有用,如果你已经有一些合并后你的错误的承诺消息。
请注意,这将试图重新写下头部和错误的承诺之间的每一个承诺,所以你应该非常明智地选择你的msg过滤器命令 ;-)
我添加了 Aliases reci 和 recm for recommit (amend) 它. 现在我可以用 git recm 或 git recm -m:
$ vim ~/.gitconfig
[alias]
......
cm = commit
reci = commit --amend
recm = commit --amend
......
如果你只是想编辑最新的承诺,使用:
git commit --amend
或
git commit --amend -m 'one line message'
但是,如果你想连续编辑多个命令,你应该使用重定向,而不是:
git rebase -i <hash of one commit before the wrong commit>
此分類上一篇
在文件中,如上面的文件中,输入编辑或其他选项之一,然后点击保存和输出。
现在你将处于第一个错误的承诺,在文件中进行更改,它们将自动为你排列。
git commit --amend
保存和输出这个和类型
git rebase --continue
移动到下一个选择,直到完成所有的选择。
请注意,这些事情在这个特殊的承诺之后改变了您的所有SHA<unk>。
git rebase -i HEAD~5
这个命令会带你到Vim,你可以“编辑”你的承诺历史,你会看到你的最后五个承诺在顶部如下:
pick <commit hash> commit message
然后Vim将通过你想要重新编写的每一个承诺消息,在这里你实际上可以改变承诺消息,你将通过进入插入模式,改变承诺消息,进入命令模式,并保存和停止。
然后,如果你已经推了你的错误的命令,你需要 git push - 强迫过写它们. 记住, git push - 强迫是相当危险的事情,所以确保没有人从服务器,因为你推了你的错误的命令!
git commit --amend -m "your new message"