切换到旧提交而不更改任何内容

Switch to older commit without changing anything

如果我想通过切换到旧提交来查看它,请在 IDE 或 运行 代码中浏览它并测试它哪个选项是正确的?我不想更改任何内容或导致任何类型的提交。我只想切换到任何提交并研究它。 我查看了如下命令:

Checkout
Cherry pick
Revert
Reset

但是 none 的描述让我确信它会满足我的需要。

如果有人也能回答如何使用 Github 桌面进行操作,那将是一笔不小的奖励,但这不是主要问题。

对您来说最简单的方法是使用 git checkout <commit hash>。这会将存储库的状态重置为该提交,您可以使用 git switch -(或 git checkout <branch>

切换回当前状态

也可以使用 git reset --hard <commit hash>,但切换回原始状态更难(因为重置会改变您的本地分支)

I dont want to change anything or cause any kind of commit.

不完全清楚您所说的不想更改任何内容或导致任何类型的提交是什么意思。

A git checkout <branch-name or SHAID> 将更改“内容”(将更改工作树或导致 detached-HEAD 情况的 HEAD)。

如果您有任何提交的 SHAID 并且想将其提取到源代码管理之外的临时文件夹中,您可以使用以下内容:

git archive <SHAID> | tar -xC GitExtracts/

以上将创建对应于 <SHAID> 的提交的存档并将其提取到文件夹 GitExtracts/ 中。这是假设 GitExtracts 被排除在任何源代码管理之外。您可以将其用作临时文件夹,并在 运行 上述命令之前删除其内容。

另请参阅此主题: