从github远程仓库中输出git
我想从github远程存储库导出,而不是克隆它。 与svn export类似,我不想使用它获取.git文件夹。 我可以通过克隆和删除.git文件夹来解决它。 我想知道是否有更干净的方法?
我读过它可以使用git归档来实现这一点。
不过,我得到以下错误..
$ git archive --format=tar --remote=git@github.com:xxx/yyy.git master | tar -xf -
Invalid command: 'git-upload-archive 'xxx/yyy.git''
You appear to be using ssh to clone a git:// URL.
Make sure your core.gitProxy config option and the
GIT_PROXY_COMMAND environment variable are NOT set.
fatal: The remote end hung up unexpectedly
任何帮助都会很棒。 谢谢。
感谢GitHub提供的Subversion支持,您可以使用svn export
来获取没有任何版本控制文件的项目:
svn export https://github.com/user/project/trunk
注意URL格式:
https://github.com/
USERNAME/PROJECTNAME
不带.git
/trunk
添加在最后 这样你就可以得到分支和子目录。
这将创建一个包含导出文件的目录。 无法直接创建tar / zip,您必须分两步执行(导出+ zip)。 这是svn export
本身的限制。
正如@Jon指出的那样,这将默认在名为trunk
的目录中创建导出。 如果您愿意,您可以指定一个不同的名称:
svn export https://github.com/username/projectname/trunk projectname
您可以使用这种技术导出项目的任何子目录。 例如,如果你只想要some/path
,你可以这样做:
svn export https://github.com/username/projectname/trunk/some/path local-dir-name
您也可以从分支和标签获取路径。 端点https://github.com/username/projectname
充分表现为具有常规布局的Subversion存储库,因此您可以在https://github.com/username/projectname/tags
https://github.com/username/projectname/branches
和tags中找到分支https://github.com/username/projectname/tags
。
在错误地导出大的内容之前,先检查路径的内容是很好的。 例如,你可以使用svn ls
来做到这一点。
svn ls https://github.com/username/projectname/
通常这应该给你:
branches/
tags/
trunk/
你可以用这种方法反复探索资源库。
如果你只想从GitHub导出,那么他们提供了一个下载tar包的机制。 例如:
https://github.com/torvalds/linux/downloads
尽管它说“这个存储库没有任何下载”。 您仍然可以使用这些按钮来下载主分支的tarball。
或者查看此链接以获取与标签链接的tarball列表:
https://github.com/torvalds/linux/tags
这应该适用于任何GitHub仓库,而不仅仅是Linux内核。
如果您的目标是限制与服务器交换的信息数量,您是否考虑过使用带有--depth
clone
? 您仍然需要删除(大大减少) .git
子目录:
git clone --depth=1 git@github.com:xxx/yyy.git && rm -rf yyy/.git
链接地址: http://www.djcxy.com/p/90451.html
上一篇: git export from github remote repository
下一篇: In Git, what is the difference between origin/master vs origin master?