- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用外部编辑器为“git commit”填充评论,如果由于某种原因提交失败,所有评论都会消失。有没有什么地方可以存储我对失败的提交的评论?
是否有任何特定的 git 命令可以重用这些待处理的评论或重复提交待处理的评论?
最佳答案
tl;博士:
git commit -eF .git/COMMIT_EDITMSG
或
git config --global alias.commit-reuse 'commit -eF .git/COMMIT_EDITMSG'
git commit-reuse
如果您在外部编辑器中编写提交消息,该消息将存储在 .git/COMMIT_EDITMSG
中。即使随后提交失败,消息也会存储在那里。但是,下次您执行 git commit
时,git 会重置文件并在那里打开编辑器。
您可以使用 -F
选项告诉 git 使用现有文件的内容作为您的提交消息。在提交失败后,您可以执行 git commit -F .git/COMMIT_EDITMSG
,git 将立即使用存储在该文件中的消息创建提交。但是,请注意,如果您这样做,注释行将包含在提交消息中:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# Explicit paths specified without -i nor -o; assuming --only paths...
# ...
您还可以使用 -e
选项让 git 在编辑器中打开文件。使用编辑器发出的提交消息永远不会包含注释行。这也将允许您在创建提交之前编辑消息。因此,只需在 git commit
失败后使用 git commit -eF .git/COMMIT_EDITMSG
。但是请注意,如果 .git/COMMIT_EDITMSG
不存在,例如您刚刚克隆了存储库,则此命令将失败。
如果你不想记住 -eF .git/COMMIT_EDITMSG
选项,你可以在 git 中创建一个别名。您可以通过运行永久添加别名
git config --global alias.commit-reuse 'commit -eF .git/COMMIT_EDITMSG'
从现在开始,只要您想重用失败提交的消息,就可以编写 git commit-reuse
。如果你想再次删除别名,你可以从 ~/.gitconfig
中删除相关行。
关于git - 如何在 git commit 失败后重用挂起的评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580611/
我是一名优秀的程序员,十分优秀!