git相当于`svn export`或github workaround

时间:2011-11-14 12:11:57

标签: git github

我想从git存储库中获取单个文件。使用SVN,我可以使用svn export,如下所示:

sudo svn export http://www.example.com/repos/Trunk/pathtofile/file.ext

这只是裸体下载文件,即没有任何存储库信息。

git中有svn export的等价物吗?

我得到的最接近的是“git show upstream/master:pathtofile/file.ext”,但这并不是真正等效的,因为你已经需要进入一个git repo才能工作。

我有另一个选项,因为我正在使用github,是尝试wget github原始文件。

wget https://raw.github.com/<mygithubuser>/repo/master/pathtofile/file.ext?login=<mylogin>&token=<notsurewhattoputhere>

问题是repo是私有的,所以我需要提供一个令牌,我不知道如何生成它并在wget中使用它?

3 个答案:

答案 0 :(得分:2)

我没有选中,但根据this git hub page,您的个人资料页面上提供了您的身份验证令牌。因此,假设它只是手动将其嵌入命令中,我会选择它。否则我想你需要接受它作为脚本的参数,该命令将包含在配置文件中,或者可能包含在配置文件中。虽然我猜这两个选项都存在安全问题。

答案 1 :(得分:2)

如果回购邮件在GitHub中,那么just use svn export!

svn export https://github.com/username/repo-name/trunk/pathtofile/file.ext

答案 2 :(得分:1)

我不会将令牌和用户名放在查询字符串中。而是做这样的事情:

curl -F 'login=mylogin' -F 'token=mytoken' https://raw.github.com/<mygithubuser>/repo/master/pathtofile/file.ext > /tmp/file.ext

至于为什么你不应该把它放在QS this is a good explanation