我想从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
中使用它?
答案 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。