2011-03-30 173 views
2

我想从git存储库中获取变更集(将它们显示在某个地方),而无需在本地机器上克隆它,就像svn一样(svn log http:// .. )。这是你可以使用git做的事吗?我查看了git log文档,但是找不到我需要的。从远程Git存储库提取变更集

谢谢!

+0

参见[浏览和没有克隆显示在一个git回购文件](http://stackoverflow.com/questions/1178389/browse-and-display-files-in-a-git-repo-without-cloning) – CharlesB 2011-03-30 11:49:57

回答

3

不,Git不处理变更集,你必须克隆存储库,然后才能使用它。有问题的项目可能有一个存储库的Web界面,可能允许您在两个任意版本之间创建差异。

-1

什么

git log --name-status 

看起来或多或少像SVN的日志...或

git log -5 --name-status 
+1

-1这只适用于现有的存储库,而不适用于远程存储库。 – CharlesB 2011-03-30 11:53:17

3

您可以使用远程仓库工作,而无需克隆整个库,没错。但是你在有限的你做了什么:

要检查存储库可用的分支:

git ls-remote git://url/to/repository.git 

要取一个分支:

git fetch git://url/to/repository.git branch 

这将您获取分支为FETCH_HEAD然后需要结帐该分支,并且可以将其保存到本地分支(否则,您没有任何直接参考其分支):

git checkout FETCH_HEAD 
git checkout -b my-external-branch 

如果您打算更经常地与外部存储库的工作,这是有道理的,将其添加为一个远程(即使你不打算取一切):

git remote add ext-repository git://url/to/repository.git 

然后你就可以获取整个存储库:

git fetch ext-repository 

或再次只是单个分支:

git fetch ext-repository branch 
+2

内容丰富,但你忘了回答OP: – CharlesB 2011-03-30 11:52:14

+0

嗯,它确实获取变更集,然后他可以显示它:P – poke 2011-03-30 11:53:35

+1

谢谢,但它不提取变更集,我终于克隆了整个存储库。 – 2011-06-29 12:24:45