git 标签的访问速度是否比 git 提交更快



我不确定问题的标题是否最合适。

我在文本文件中有数据。这些数据每天都在变化/增长。我将保存此数据的目录保存在源代码管理下,git。每天结束时,我都会发出一个命令:

git commit -m "EOD YYYYMMDD"

通常,我需要查看过去某一天的数据是什么样子的。

  1. 使用标签与提交有什么不同吗?
  2. 标签
  3. 的访问速度是否比提交更快,这意味着,在标签的帮助下签出给定文件是否更快,就像过去某一天的EOD一样,而不是提交?
  4. 一个比另一个更节省空间吗?(我的目录大小为3Gigs文本(

标签指向提交。除非有要指向的提交,否则无法创建标记。所以这里真的没有选择。

(至于空间,标签总是比没有标签占用更多的空间,但标签只是短文本文件,因此创建一千个标签最多只能净几兆字节。

您当然可以在进行日终提交创建名为(例如(eod-20160208的标签,然后通过运行简单的git checkout eod-20160208来检查今天的代码。这比查看您最近的提交以查找具有相关提交消息的提交更容易,但并不比完全跳过标签并运行git checkout 'master@{2016-02-08}'特别容易。

这让我想到了另一点:Git 会为你跟踪日期。我不会说你用了,因为 Git 支持各种不同的工作流程;但是将日期放在提交消息中有点多余。如果您使用 git loggitk 或其他内容来查看提交历史记录,则日期会列在提交消息旁边。因此,我建议使用-m来描述您所做的更改,而不是指定您何时执行的更改。此策略可帮助我更快地找到所需的更改。

git 标签指向提交;没有后者,前者就没有意义。如果您希望能够看到过去某一天的数据是什么样子的,则必须提交它;这就是提交的目的。长话短说,你做对了。

如果不清楚:使用标签并不意味着您不再需要提交。(带注释的(标签只不过是一个带有一些附加元信息的提交,而轻量级标签实际上只是一个指向提交的指针(如分支(。

因此,问题3的答案肯定是否定的。

对于问题 2:结帐不会更快,但是如果您不知道提交消息的确切内容,您可能更容易列出可用标签并找到您要查找的提交 - 仅仅是因为它们更少。

最后是你的问题1:同样,标签只是提交的注释,旨在让你更容易找到对你有特殊意义的文件的特定版本。

使用

标签而不是提交 1.Is 不同吗?

不。标签只是一个更人性化的小贴纸,指向提交。

    标签
  1. 的访问速度是否比提交更快,这意味着,在标签的帮助下签出给定文件是否更快,就像过去某一天的EOD一样,而不是提交?

不,因为最后,您检查出标记指向的提交。在签出时间中唯一起作用的是目标工作目录与当前工作目录的距离(应该从一个目录应用哪些更改来获取另一个!

  1. 一个比另一个更节省空间吗?(我的目录大小为3Gigs文本(

标记几乎到位,但这不是存储数据的地方(这是提交(。标签只是记住一些重要提交以便将来更容易找到它们的便捷方式。

最新更新