Git 另一个版本控制系统是否有类似ClearCase的文件系统访问文件版本?
在ClearCase中,如果我正在处理某个文件X,并且还想查看其以前的版本(比如版本5),那么它可以作为Git 另一个版本控制系统是否有类似ClearCase的文件系统访问文件版本?,git,mercurial,clearcase,Git,Mercurial,Clearcase,在ClearCase中,如果我正在处理某个文件X,并且还想查看其以前的版本(比如版本5),那么它可以作为X@@@main/5提供。其他(最好是免费的)版本控制系统是否也有类似的功能 Mercurial有hg cat和hg co,但它们仍然没有接近ClearCase的上述功能。谷歌快速搜索发现: gitfs是一个基于FUSE的文件系统,用于处理存储在 git存储库。最终目标是提供一种方便的工作方式 有很多树枝和补丁。目前只有非常基本的功能 实现了对现有标记和对象的只读访问 可能还有其他(更活跃的)
X@@@main/5
提供。其他(最好是免费的)版本控制系统是否也有类似的功能
Mercurial有
hg cat
和hg co
,但它们仍然没有接近ClearCase的上述功能。谷歌快速搜索发现:
gitfs是一个基于FUSE的文件系统,用于处理存储在
git存储库。最终目标是提供一种方便的工作方式
有很多树枝和补丁。目前只有非常基本的功能
实现了对现有标记和对象的只读访问
可能还有其他(更活跃的)项目提供类似的功能(包括Git和其他VCSE)。基本上,您想要处理任意修订的每个
hg
命令都可以在hg
中使用-r
就像一直在clearcase中使用@
一样hg
“only”需要-r
,因为文件的版本不是独立于存储库的,所以给定文件和repo版本,-r
是明确的
如果要编辑文件,管道hg cat
与读取file@@@branch/ver
完全相同-它们提供对数据的完全相同(只读)访问
如果您想在Mercurial中方便地查看MVFS上的动态视图,这是一个完全不同的问题,您无法真正做到这一点(您可以在NFS上以只读方式进行查看,但显然没有版本控制)。首先,
X@@@main/5
是一个您只能在中进行探索
其次,您可以快速:
(文件路径始终来自git存储库的根目录)您还可以将git show用于其他用途(例如) 更多信息,请参阅
就基于修订版的文件系统的动态探索而言,Git的hgfs等效于:
- 基于FUSE的文件系统,用于处理存储在 git存储库
应用程序的请求通过VFS层传递到FUSE驱动程序,该驱动程序 将请求发送到用户空间文件系统守护程序。
然后,Figfs通过普通文件系统访问Git存储库,并将生成的数据返回给应用程序。根据Greg的评论,我能够找到。这对mercurial也有类似的作用。我之所以在
hgcat
和类似命令上执行文件系统接口,是因为这些命令需要额外的一步来提取修订版本,这必须在IDE之外完成。e、 g.如果我正在用xfig绘制原理图,并且希望加载第五个版本,并且有一个文件系统接口,则允许我执行直接文件->打开操作,而hg cat
需要额外的步骤在使用前转储该版本。@Vijay:明白。我已经完成了我的回答,并为git添加了hgfs的等价物:figfs。OP没有指定操作系统,而且您忘了提到FUSE(因此hgfs、gitfs和figfs)仅适用于Linux。不是每个人都运行Linux:)
git show REVISION:path/to/file