- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我经常想编辑提交消息,而不必从上次提交中重新选择文件集。
git commit file1.c file2.c
提交消息中的意外拼写错误。
git commit file1.c file2.c --amend
这行得通,但我不想从原始提交中重新选择文件集,我曾经不小心做了 git commit -a --amend
并无意中添加了许多更改。
我知道 git rebase -i HEAD~1
然后用 r
替换 pick
(重写),但这最终只需几步。
有没有办法在不包含任何新文件的情况下一步重写最后一次提交?
最佳答案
只要您的暂存区域中没有任何更改,您可以简单地使用
git commit --amend
编辑您之前提交的消息1。
但是,如果您确实已暂存更改,则可以将--only
(或-o
)标志与--amend
仅编辑上一次提交的消息,而不提交阶段性更改:
git commit --amend --only
git commit --amend -o # Shorter
David Ongaro in his answer 指出了这个选项。
如 git commit
documentation(强调我的)所述:
-o
--onlyMake a commit only from the paths specified on the command line, disregarding any contents that have been staged so far. This is the default mode of operation of git commit if any paths are given on the command line, in which case this option can be omitted. If this option is specified together with --amend, then no paths need to be specified, which can be used to amend the last commit without committing changes that have already been staged.
1正如 Minitech 和其他人所提到的。
关于Git 修改/改写(不添加/更改文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25375679/
我一直在尝试通过一些我为自己开发的练习题重新认识 SQL,但正在努力寻找更好的方法来解决以下问题: 播放列表 id title 1 Title1 2 Title2 播放列表剪辑 id pl
我有一个很大的制表符分隔文件,如下所示: chr1 9507728 9517729 0 chr1 9507728 9517729 5S_rRNA chr1 9537731 954
我经常想编辑提交消息,而不必从上次提交中重新选择文件集。 git commit file1.c file2.c 提交消息中的意外拼写错误。 git commit file1.c file2.c --a
如何编辑或改写 merge 提交的消息? git commit --amend 如果它是最后一次提交 (HEAD) 则可以工作,但是如果它在 HEAD 之前呢? git rebase -i HEAD~
我在 flutter 中有以下声明。 weight是来自 _weightController 的文本,即 _weightController.text int.parse(weight).toStri
我是一名优秀的程序员,十分优秀!