在 VIM 中编辑代码时,我想在 Git Commit 消息中添加小的单行注释。有时我发现当我看到一个小问题时立即解决它比评论它或记录它以供将来修复更简单。但是,我仍然希望更改出现在评论日志中。
现在我正在跑步:!echo Did something neat >> g
,我g
在我的 git 评论中使用文件的内容。在我编写 VIM 宏来写入文件之前,Git/VIM 是否有更好的处理方式?
无需为您在工作时遇到的小修复添加额外的注释,您可以选择性地使用git add --patch
(或git add -p
)暂存修复并为其创建提交,然后继续处理其余代码。
通过这样做,您不仅为每个修复提供了自己的提交,还有助于将提交保留在历史中,代表逻辑工作单元,即逻辑上属于一起的更改,而不是进行包含一堆不相关更改的大提交.
来自Git 文档:
-p
--patch
在索引和工作树之间以交互方式选择补丁块并将它们添加到索引中。这使用户有机会在将修改的内容添加到索引之前查看差异。这有效地运行了 add --interactive,但绕过了初始命令菜单并直接跳转到 patch 子命令。有关详细信息,请参阅“交互模式”。
Pro Git 也描述了这种所谓的交互式暂存。
您可以改用 Vim 寄存器。
:let @n = "Did something neat\n"
...
" Uppercase register name appends:
:let @N = "Did another clever thing\n"
然后,您可以通过:put n
、 或"np
等插入内容。通常,寄存器内容在 Vim 调用中保存(在viminfo文件中),因此它与您的临时文件一样好。
您可以考虑使用其他替代方法将元数据添加到提交中,例如“git notes”或参见:http ://www.tikalk.com/DevOps/commit-metadata-tag-implementation/