Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何注释git存储库?_Git_Github_Annotations_Bitbucket_Git Diff - Fatal编程技术网

如何注释git存储库?

如何注释git存储库?,git,github,annotations,bitbucket,git-diff,Git,Github,Annotations,Bitbucket,Git Diff,我有一个git存储库,在每次提交中都做了几件事,因此,我的一行提交消息不足以完全解释发生了什么 我希望以后能够回到这些东西上来,作为我自己的参考,并且能够以某种形式发布它们。我知道,如果我将本地存储库推送到git托管提供商(如或)上,我可以通过其web界面查看每个提交和差异修补程序,并向它们添加注释,也可以在单独的行上添加注释。我将这些称为diff注释 这样做的缺点是git宿主提供程序保存所有diff注释数据,而我的本地git存储库将不包含这些数据 有没有办法从git托管提供商“导出”或“下载

我有一个git存储库,在每次提交中都做了几件事,因此,我的一行提交消息不足以完全解释发生了什么

我希望以后能够回到这些东西上来,作为我自己的参考,并且能够以某种形式发布它们。我知道,如果我将本地存储库推送到git托管提供商(如或)上,我可以通过其web界面查看每个提交和差异修补程序,并向它们添加注释,也可以在单独的行上添加注释。我将这些称为diff注释

这样做的缺点是git宿主提供程序保存所有diff注释数据,而我的本地git存储库将不包含这些数据

  • 有没有办法从git托管提供商“导出”或“下载”这些差异注释
  • 是否有git工具或插件允许我在本地存储库中创建差异注释(无需推送到git托管提供商)

我认为Git提供了您所需要的,不确定您的场景有多复杂,但我的建议如下:

小型提交

您说“在每次提交中,已经完成了几件事情,因此,我的一行提交消息不足以充分解释正在发生的事情。”。好吧,有些人可能会说相反的话,但我会尽量保持提交的小而简单,这样就可以用一行来解释它们

即使是大型功能,您通常也可以在较小的更改中拆分它们。我只是修复填充,或者公开一个API而不必对其进行编码。例如,如果您正在使用,小提交很好地检测将来的bug

冗长的描述

我不确定我是否在说一些完全琐碎的话,如果是的话,我会道歉,但你不需要每次都做一行提交消息。您是否总是执行
commit-am
?您知道,如果在没有
-m
的情况下键入commit,您的默认编辑器将打开吗?如果你愿意的话,你可以先键入一行摘要,然后再键入圣经

回来回顾

是的,如果您想导航源代码,GitHub将非常好,但是如果您想返回时间并检查给定提交上的注释/注释,您只需要通过
git日志
搜索提交,然后选择提交id,您只需执行
git show


这将向您显示所有更改以及您的所有评论。

谢谢您的回答@bitoiu,不过我正在寻找一种方法,将评论添加到diff补丁中的各个行中。我倾向于回避逐行提交,因为我的风格是在每次提交之前递增地多做一件事,有时这意味着要修改多个文件和行。@bguiz,提交应该尽可能简单/小。如果需要单独的解释,那么提交就太复杂了。您的提交消息可能比补丁本身大得多。在git中,提交是轻量级和快速的。利用这个优势。@vonbrand你肯定不是说我应该一次只写一行?我在这里要求的是能够一次提交几行,但能够在行级别对每个提交进行注释。一次提交一行可以达到这种粒度级别,但我不希望这样做。@bguiz,如果更改只影响一行,那就这样吧。很多不会是一行程序,有些会涉及几乎所有的文件。如果您想使用像
git-bisect
这样的工具,那么进行原子更改是至关重要的。我最初的回答是:“小提交很好地检测将来的bug,例如,如果您使用的是git-bisect。”