在Git中是否有一个命令可以查看(转储到stdout,或者在$PAGER或中$EDITOR)特定文件的特定版本?
我有一个Git存储库,我想看看几个月前一些文件的样子.我在那个日期找到了修改版,而且它是27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8.我需要查看一个文件的外观,并将其保存到文件中.
我设法看到文件使用gitk,但它没有保存选项.我尝试使用命令行工具,我得到的最接近的是:
git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt
Run Code Online (Sandbox Code Playgroud)
但是,此命令显示diff而不是文件内容.我知道我以后可以使用类似的东西PAGER=cat并将输出重定向到文件,但我不知道如何获得实际的文件内容.
基本上,我正在寻找类似svn cat的东西.
我的Clearcase存储库中有一个文件.我检查了一下并修改了它,然后重新检查了它.
我没有做任何事情,比如在我的流/视图中制作基线,变基或传递.
我很遗憾对此文件进行了更改 - 回想起来,我应该撤消结帐.
如何回滚修改?(或撤消,或恢复,或任何正确的命名法.)
这篇Perl告诉我,ClearCase中的文件不存在;
$x = "PATH/TO/FILE"
if (-e $x) {
print "This file exists on the file system";
} else {
print "I can't see this file";
}
Run Code Online (Sandbox Code Playgroud)
谁看过这个吗?
有些文件返回正常.让我难过.
Clearcase视图是动态的,托管在unix上.
这段代码返回一个文件存在而另一个文件不在它们位于同一视图的同一文件夹中时.
假设我有一个名为"todo"的文件
这是我想为这个项目做的事情清单.
我希望这个文件与我的git repo相关联.
我希望有这个文件的不同修订版,
但是,我不希望它与特定分支相关联.例如:
我只想要一个"todo"文件 - 这可能吗?这有意义吗?我不知道怎么会误导todo?
使用与git-reset手册页中相同的表表示,我的git存储库中有这些状态:
working index HEAD
------------------
B B A
Run Code Online (Sandbox Code Playgroud)
什么命令会将状态更改为这些状态?
working index HEAD
------------------
A B A
Run Code Online (Sandbox Code Playgroud)
换句话说,我想将工作目录状态“重置”为该HEAD状态,但不触及暂存区状态。