我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
当前回答
您可以使用 Git 重定向. 例如,如果您想要修改回来承诺 bbc643cd,运行
$ git rebase bbc643cd^ --interactive
在默认编辑器中,修改“选择”到“编辑”的行,您想要修改的承诺。
$ git add <filepattern>
现在你可以使用
$ git commit --amend
要改變承諾,然後
$ git rebase --continue
要回到前任首席执行官。
其他回答
git rebase -i HEAD~5
这个命令会带你到Vim,你可以“编辑”你的承诺历史,你会看到你的最后五个承诺在顶部如下:
pick <commit hash> commit message
然后Vim将通过你想要重新编写的每一个承诺消息,在这里你实际上可以改变承诺消息,你将通过进入插入模式,改变承诺消息,进入命令模式,并保存和停止。
然后,如果你已经推了你的错误的命令,你需要 git push - 强迫过写它们. 记住, git push - 强迫是相当危险的事情,所以确保没有人从服务器,因为你推了你的错误的命令!
正如前面提到的那样, git commit --amend 是重写最后一份重写的方式。
git commit -a --amend -m "My new commit message"
我意识到我已经推着一个承诺与一个类型在其中。为了放弃,我做了以下事情:
git commit --amend -m "T-1000, advanced prototype"
git push --force
警告:强迫推你的变化将重新写下远方分支与你的当地一个. 确保你不会过度写下任何你想保持的东西. 也要小心强迫推一个修改(重新写)承诺,如果其他人与你分享分支,因为他们将需要重新写下自己的历史,如果他们有旧的副本的承诺,你刚刚重新写。
如果你只想修改你的最后一个承诺消息,那么做: git commit --amend
它会把你推到你的文本编辑器,让你改变最后的承诺消息。
如果您想更改前三個承諾訊息,或任何承諾訊息到這一點,請將 HEAD~3 傳送到 git rebase -i 命令: git rebase -i HEAD~3
我添加了 Aliases reci 和 recm for recommit (amend) 它. 现在我可以用 git recm 或 git recm -m:
$ vim ~/.gitconfig
[alias]
......
cm = commit
reci = commit --amend
recm = commit --amend
......