有没有一种方法可以修改一个提交,而不弹出vi(或你的$EDITOR)选项来修改你的提交消息,而是简单地重用之前的消息?
当前回答
另一种(愚蠢的)可能性是git commit——modify <<<:wq如果你用vi(m)作为$EDITOR。
其他回答
你可以保存一个使用已接受答案的别名,这样使用:
git oops
添加所有内容,并使用相同的提交消息进行修正
git oops -m "new message"
使用一个新的提交消息。
这是别名:
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
为了增加一些清晰度,你需要使用git add进行阶段性更改,然后修改最后的commit:
git add /path/to/modified/files
git commit --amend --no-edit
如果您忘记在上次提交中添加一些更改,或者当您想通过重用上次提交添加更多更改而不创建新提交时,这特别有用。
要扩展已接受的答案,你还可以这样做:
git commit --amend --no-edit -a
添加当前更改的文件。
另一种(愚蠢的)可能性是git commit——modify <<<:wq如果你用vi(m)作为$EDITOR。
从Git 1.7.9开始,你还可以使用Git commit - modify -no-edit来获得结果。
注意,这将不包括来自其他提交的元数据,如时间戳或标记,这些对您来说可能重要,也可能不重要。
推荐文章
- 在多个阶段条目的git中出现致命错误
- Git合并错误“提交不可能,因为你有未合并的文件”
- Git推送错误:拒绝更新签出的分支
- 撤销一个合并拉请求?
- Git -dir没有正常工作
- 密码身份验证暂时被禁用,作为停电的一部分。请改用个人访问令牌
- 如何使Sublime Text成为Git的默认编辑器?
- 我怎么能在' git日志'中显示分支的名称?
- 用新的.gitignore文件重新同步git repo
- 如何预览git-pull?
- 如何删除git历史记录中的特定修订?
- 如何获得Git存储库中的Git存储库名称?
- 当git说它正在“解析delta”时,它实际上在做什么?
- Git命令将一个文件夹移动到另一个文件夹
- 在单个文件中重新启动/撤消冲突解决方案