为了账号安全,请及时绑定邮箱和手机立即绑定

浏览和显示git存储库中的文件而无需克隆

浏览和显示git存储库中的文件而无需克隆

Git
跃然一笑 2019-12-13 15:10:58
有没有一种方法可以浏览和显示git仓库中的文件而无需先克隆它?我可以使用以下命令在svn中执行这些操作:svn ls / path / to / repo svn cat / path / to / repo / file-in-repo我可以使用git show但可以这样做:git show / path / to / repogit show HEAD:/路径/到/仓库结果到致命的:不是git库
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您想要的命令git ls-remote允许您获取有关远程存储库的一些信息,但是您无法显示历史记录或列表目录或该级别的任何内容:本质上,它仅允许您以很高的级别查看远程对象(可以看到远程对象)。例如当前的HEAD和标签)。


唯一可行的方法(如果我理解正确的话)是使用ssh运行远程命令并返回结果,例如:


ssh me@otherhost "cd repo && git log -n 10"

如果他们可以添加它,那么您想要的就是可爱的功能,但是从我的阅读来看,这并不是一件容易的事,因为获取历史记录等需要大量信息才能在git本地进行,这时您也可以进行git fetch 。



查看完整回答
反对 回复 2019-12-14
?
ibeautiful

TA贡献1993条经验 获得超5个赞

Git是分布式版本控制系统,而Subversion是集中式(客户端-服务器)版本控制系统。他们的工作方式不同;习惯了。请阅读我的答案,以解释在StackOverflow 上git等效svn status -u问题产生的差异的后果。


再说一遍:在集中式版本控制系统(如CVS或Subversion)中,几乎所有命令都在服务器上处理,并且涉及网络。很少在本地执行命令。请注意,要具有良好的“ svn状态”和“ svn差异”性能,Subversion会将已检出版本的“原始副本”存储在客户端上,而不必为那些常见操作进行网络传输(这意味着Subversion检出= 2 x工作目录的大小)。


在分布式版本控制系统(如Git,Mercurial或Bazaar)中,您拥有整个存储库的本地副本(克隆),几乎所有命令都在client上执行。很少有命令需要与其他存储库(到服务器)的网络连接。


您可以在服务器上执行的命令数量是有限的。


您可以使用“ git ls-remote <URL>” 列出远程上的所有引用。

您可以使用

“ git archive --remote = <URL> HEAD” 获取存储库(部分)的快照(如果启用了远程服务器)。

您只能使用

“ git clone --depth = 1 <URL>” 来克隆最后的一些提交(即“ shallow clone”)。

如果服务器为存储库提供git Web界面,则可以使用它进行浏览。



查看完整回答
反对 回复 2019-12-14
  • 3 回答
  • 0 关注
  • 416 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信