如何使用 git 在 Visual Studio DevOps 上检查项目的特定版本?

如何使用 git 在 Visual Studio DevOps 上检查项目的特定版本?

我在 Visual Studio Devops 中有一个项目,我已经连续几个月每天检查代码。我需要稳定截止日期后的项目特定版本,但不知道如何从该日期起检查所有文件。

如何检出过去特定时间点的项目中的所有文件?

答案1

首先,不要从日期的角度来考虑 git,而要从提交的角度来考虑。

在继续之前,我假设您熟悉git log输出。如果不熟悉,请复习一下:它列出了存储库中的所有提交,从最近的提交开始。列出的信息是:提交哈希码 (SHA)、作者、日期和消息。但是,git log可以自定义以帮助您解决问题。

例如,假设您感兴趣的日期是 2019 年 6 月 20 日。

要列出该日期的所有提交,请运行: git log --since="jun 20 2019" --until="jun 21 2019"

从这里开始,有三种可能的情况:

  1. 列表中只有一个提交。太棒了!这就是你要找的提交。转到解决方案
  2. 列表中有多个提交。好吧……我帮不了你,你需要检查它们并决定哪一个是你感兴趣的。如果你对日期非常具体,只需选择列表中最近的一个,然后转到解决方案
  3. 列表中没有提交。在特定日期没有提交。但是如果你想知道该日期的源状态,这意味着你对发生的提交感兴趣该日期。使用 扩大搜索范围。或者,您可以通过从选项中省略 来git log --since="jun 19 2019" --until="jun 21 2019"仅为命令提供上限。无论哪种方式,选择您感兴趣的提交,然后转到log--since="jun 19 2019"解决方案

解决方案

复制所选提交的哈希码 (SHA),然后运行git checkout <SHA>​​- 这会将您的存储库带到与该提交相对应的状态。您将处于所谓的“分离头”状态,这听起来很糟糕,但无需担心。如果您只是在探索/构建,但没有对要保存的代码进行任何更改,那么您没问题。如果您想返回,请运行git checkout <branch you want to go back to>

如果您想从那里分支,请运行git checkout -b <name of your new branch>

如果您确定要进行修改,则可以将前两个命令合并到这一行中,这将根据您要查找的提交创建一个新的分支:git checkout -b <name of your new branch> <SHA>

相关内容