2014-02-24 95 views
3

我有一个git仓库,在每次提交中,已经完成了几件事情,因此,我的单行提交消息不足以完全解释发生了什么。如何注释一个git仓库?

我希望能够稍后再回到这些事情上,供我自己参考,并且能够以某种形式发布它们。我知道,如果我要将我的本地存储库推送到git托管提供商(如githubbitbucket),我可以通过他们的Web界面查看每个提交和diff-patch,并为其添加注释并添加到个别行中。我将把它们称为差异注释。

这样做的缺点是git托管提供者拥有所有diff注释数据,并且我的本地git存储库将不包含它们。

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

回答

1

我想混帐提供你所需要的,不知道您的情况多么复杂,但我的建议是

小提交

以下你说“在每次提交,几件事情已经完成了,因此,我的单行提交信息不足以完全解释正在发生的事情。“。那么,有些人可能会说,但我会保持提交尽可能小和简单,所以他们可以在一行解释。

即使对于大的功能,您通常可以将它们分成较小的变化。我确实在提交补丁的地方提交,或者在不必编码的情况下公开API。例如,如果您使用的是git bisect,小提交很好地检测未来的错误。

冗长的描述

我不知道,如果我说的东西完全琐碎,道歉,如果我是,但你并不需要做一个班轮提交信息每次。你总是做commit -am <message>。你知道,如果你输入的提交没有-m,你的默认编辑器将打开,然后你可以编写类型的第一行摘要,如果你愿意的话跟着圣经。

即将带回审查

是,GitHub的将是巨大的,如果你想浏览源,但如果你想回去的时间,并检查您的意见/上一个指定的提交,你只需要批注例如通过git log搜索提交,然后选择提交ID,则可以执行git show <commitId>

这将显示所有的变化与旁边所有的意见。

+0

感谢您的回答@bitoiu,但我一直在寻找一种方式,以一个差异补丁中添加评论个别线路。我倾向于回避逐行提交,因为我的风格是在每次提交之前增加一个工作,有时这意味着会修改多个文件和行。 – bguiz

+0

@bguiz,提交*应*尽可能简单/小。如果件需要单独解释,则提交过于复杂。你的提交信息可能比补丁本身大得多。在git中,提交是轻量级且快速的。使用这个有利。 – vonbrand

+0

@ vonbrand当然,你不是故意说我应该一次提交一行吗?我在这里要求的是能够一次提交多行,但能够在行级别注释每个提交。这种粒度级别一次只能执行一行,但我不希望这样做。 – bguiz

相关问题