我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
当前回答
您可以使用 git-rebase-reword
它旨在以同样的方式编辑任何承诺(不只是最后) - 修改
$ git rebase-reword <commit-or-refname>
它被命名为反对互动的行动,以改变一个承诺:“反对”。 查看此帖子和人 - 部分互动模式-
例子:
$ git rebase-reword b68f560
$ git rebase-reword HEAD^
其他回答
要改變以前的承諾,做你想要的變化,並進行這些變化,然後執行
git commit --amend
这将打开一个文件在你的文本编辑器代表你的新的承诺消息. 它开始与文本从你的旧承诺消息。 改变承诺消息,如你想要,然后保存文件,然后停止你的编辑器完成。
要更改以前的承诺,并保持相同的日志消息,运行
git commit --amend -C HEAD
修复以前的承诺,通过完全删除它,运行
git reset --hard HEAD^
如果你想编辑多个承诺消息,运行
git rebase -i HEAD~commit_count
此命令启动您的编辑器. 标记第一个命令(您想要更改的命令)为“编辑”而不是“选择”,然后保存和输出您的编辑器。
git commit --amend
git rebase --continue
注意: 您也可以从 git commit 打开的编辑器“做您想要的更改” - 更改
我意识到我已经推着一个承诺与一个类型在其中。为了放弃,我做了以下事情:
git commit --amend -m "T-1000, advanced prototype"
git push --force
警告:强迫推你的变化将重新写下远方分支与你的当地一个. 确保你不会过度写下任何你想保持的东西. 也要小心强迫推一个修改(重新写)承诺,如果其他人与你分享分支,因为他们将需要重新写下自己的历史,如果他们有旧的副本的承诺,你刚刚重新写。
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
另一种方法是删除最后的承诺,但保持它的变化,这样你就不会失去你的工作。
git reset --soft HEAD~1
git commit -m 'New and corrected commit message'
我总是这样做,如果我忘记添加文件或做出更改。
请记住指定 - 软而不是 - 硬,否则你会失去这个承诺完全。
对于任何正在寻找一个Windows/Mac GUI来帮助编辑旧消息(即不仅仅是最新消息),我会推荐Sourcetree。
此分類上一篇
对于尚未推到远程的承诺:
在“Log/History”选项卡中,右键单击您要编辑的承诺(s)下图中的附属线的输入,并选择“Rebase children of <commit ref> interactively..." 选择您要更改的承诺消息的整个行。
...或......对于已经推出的承诺:
遵循这个答案中的步骤,这些类似于上面的,但需要一个进一步的命令运行从命令线(git push 起源 <branch> -f) 强迫推分。
您可以使用 git-rebase-reword
它旨在以同样的方式编辑任何承诺(不只是最后) - 修改
$ git rebase-reword <commit-or-refname>
它被命名为反对互动的行动,以改变一个承诺:“反对”。 查看此帖子和人 - 部分互动模式-
例子:
$ git rebase-reword b68f560
$ git rebase-reword HEAD^