gpt4 book ai didi

git - 如何按日期在 Git 中 checkout ?

转载 作者:IT王子 更新时间:2023-10-29 01:13:08 25 4
gpt4 key购买 nike

我正在研究源代码中的回归。我想告诉 Git:“根据参数化的日期/时间检查源代码”。这可能吗?

我目前的观点也有阶段性的变化,我不想失去。理想情况下,我想在当前源和我感兴趣的基于之前日期的某个版本之间来回切换。

最佳答案

保留当前的更改

您可以使用 git stash stash 您的工作,而无需提交。你将不会使用 git stash pop 将其取回。或者您可以(如 carleeto 所说)git commit 到一个单独的分支。

使用 rev-parse 按日期 checkout

您可以像这样使用 rev-parse 在特定日期之前 checkout 提交:

git checkout 'master@{1979-02-26 18:30:00}'

有关可用选项的更多详细信息,请参阅 git-rev-parse .

如评论中所述,此方法使用 reflog 在您的历史记录中查找提交。默认情况下这些条目 expire after 90 days .尽管使用 reflog 的语法不那么冗长,但您只能返回 90 天。

使用 rev-list 按日期 checkout

另一个不使用 reflog 的选项是使用 rev-list 在特定时间点获取提交:

git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`

如果您只想要您的历史记录而不是 merge 带来的版本,请注意 --first-parent。这就是您通常想要的。

关于git - 如何按日期在 Git 中 checkout ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com