对于文件,如何在Git中返回以前的版本?

时间:2011-04-20 01:11:55

标签: git

对于我当前的文件,我想“返回”到版本__。我如何在Git中做到这一点?

我不希望该版本成为我最新的版本。我只是想看看当时有什么代码。

2 个答案:

答案 0 :(得分:1)

如果您不想覆盖工作树中的版本,请使用git show

git show rev:path/to/file

rev通常是任何表达式(参见git-rev-parse(1)中的“指定修订”部分),可以解析为提交 1
path/to/file应该是感兴趣的文件的路径(从存储库的顶层开始)。

例如,从“修复错误”提交中显示src/config.c

% git log --oneline
7c07566 second feature
bbdbea8 fix bugs
1cf42c8 first feature
82cfa1d initial commit
% git show bbdbea8:src/config.c

bbdbea8也可以是完整的对象名称(我的测试存储库中的bbdbea801c2a465a8c509befa46174bad4fd9fd4),或者表达式HEAD~HEAD^(如果您已经知道提交的话)你感兴趣的是当前HEAD的第一个父母。)

1 rev:path语法中,rev不一定是“commit-ish”,它可以是任何“树状”(并且路径从指定的树而不是顶层开始)。


Git还可以比较不同版本的文件,而无需显式提取每个文件:

显示自bbdbea8以来src/config.c所做的累积更改:

git diff bbdbea8 -- src/config.c

或者,有时一点一点地查看历史记录是有用的。自bbdbea8以来显示每个更改src/config.c

git log -p --reverse bbdbea8.. -- src/config.c

答案 1 :(得分:0)

尝试以下方法,只检查文件的特定版本

git checkout revision -- filename