我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
我在承诺信中写错了。
我怎么能改變訊息呢?承諾尚未推動。
当前回答
对于任何正在寻找一个Windows/Mac GUI来帮助编辑旧消息(即不仅仅是最新消息),我会推荐Sourcetree。
此分類上一篇
对于尚未推到远程的承诺:
在“Log/History”选项卡中,右键单击您要编辑的承诺(s)下图中的附属线的输入,并选择“Rebase children of <commit ref> interactively..." 选择您要更改的承诺消息的整个行。
...或......对于已经推出的承诺:
遵循这个答案中的步骤,这些类似于上面的,但需要一个进一步的命令运行从命令线(git push 起源 <branch> -f) 强迫推分。
其他回答
更改最新承诺消息
git commit --amend
git commit --amend -m "New commit message"
...任何人,这可能会使多线承诺消息或小纠正更有吸引力进入。
确保您在做此之前没有任何工作复制变更,或者它们也会被承诺(未进行的变更不会被承诺)。
git push <remote> <branch> --force
# Or
git push <remote> <branch> -f
// n is the number of commits up to the last commit you want to be able to edit
git rebase -i HEAD~n
一旦你错过了你的承诺,选择e/r来编辑消息:
如果你使用 git rebase -i HEAD~n 可以有更多的 n 命令. Git 将“收集”最后 n 命令中的所有命令,如果在这个范围之间有某个合并,你会看到所有的命令,所以结果将是 n + 。
好提示:
git-commit(1) 手动 页 git-rebase(1) 手动 页 git-push(1) 手动 页
对于任何正在寻找一个Windows/Mac GUI来帮助编辑旧消息(即不仅仅是最新消息),我会推荐Sourcetree。
此分類上一篇
对于尚未推到远程的承诺:
在“Log/History”选项卡中,右键单击您要编辑的承诺(s)下图中的附属线的输入,并选择“Rebase children of <commit ref> interactively..." 选择您要更改的承诺消息的整个行。
...或......对于已经推出的承诺:
遵循这个答案中的步骤,这些类似于上面的,但需要一个进一步的命令运行从命令线(git push 起源 <branch> -f) 强迫推分。
您可以使用 Git 重定向. 例如,如果您想要修改回来承诺 bbc643cd,运行
$ git rebase bbc643cd^ --interactive
在默认编辑器中,修改“选择”到“编辑”的行,您想要修改的承诺。
$ git add <filepattern>
现在你可以使用
$ git commit --amend
要改變承諾,然後
$ git rebase --continue
要回到前任首席执行官。
我喜欢使用以下内容:
git status git add --all git commit -am “消息走到这里关于变化” git pull <origin master> git push <origin master>
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
另一种方法是删除最后的承诺,但保持它的变化,这样你就不会失去你的工作。
git reset --soft HEAD~1
git commit -m 'New and corrected commit message'
我总是这样做,如果我忘记添加文件或做出更改。
请记住指定 - 软而不是 - 硬,否则你会失去这个承诺完全。