【问题标题】:Is it possible to label all files using git是否可以使用git标记所有文件
【发布时间】:2019-05-23 13:46:12
【问题描述】:

有没有办法标记/标记/... git 存储库中的所有文件?

一些背景:

我们为每个发布版本创建一个分支。我们的主人是我们的开发版本。错误修复在我们的 master 上完成,然后樱桃挑选到正确的“版本”分支。

这一切都很好。但是,我们会忘记何时进行更改。 在我们的“旧”系统中,我们可以在版本关闭之前标记所有文件。因此,我们始终知道更改了哪个版本。

例子:

  • 版本 5
  • 版本 4
  • 一些变化
  • 版本 3
  • 文件的初始创建

现在,在 git 中,我们只看到“初始创建”和“一些变化”,但我们无法轻易看到这是在哪个版本中发生的。

有没有办法标记文件(或提交),以便我们可以看到哪个版本发生了变化? 这样做的最佳做法是什么?

【问题讨论】:

  • 您忘记了何时进行更改是什么意思?每个提交都有一个时间戳,对吧?
  • 这不是git tag 吗?
  • 我们有时间戳,但是我们必须检查版本何时关闭。在一个自动化程度很高的世界里,这不是要走的路。
  • 看来你来自TFVC。提交,已经是所有文件的快照。因此,您只需标记一个提交,即可对处于特定状态的所有文件进行标记。

标签: c# git


【解决方案1】:

在 git 中,您不会使用“最后更改”时间戳标记文件。提交本身具有时间戳,允许根据需要重建此类信息。

您想知道文件path/to/file 上次更改的时间吗?

git log --all -1 -- path/to/file

...将输出更改文件的最后一次提交,包括作者和日期。

但是,如果您的 repo 树中有版本标签并且想要获得有关您的文件的此信息,您可能更愿意将提交哈希传递给describe

git describe `git log --all -1 --pretty=format:"%H" -- path/to/file`

【讨论】:

  • 有没有办法在 Visual Studio 历史中可视化这个?我们最近从旧语言转换为 c#,我的大多数同事仍在学习语言和 VS。使用 git 运行命令行很可能现在无法处理。
  • 我自己不知道VS接口,我让别人回答,但如果不可能的话我会很惊讶。这是源代码控制的常见需求。
猜你喜欢
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2018-01-30
  • 2013-06-09
  • 1970-01-01
相关资源
最近更新 更多