从私有仓库的Github上下载原始文件,可以使用wget命令。

10
我正在尝试使用wget从github获取一个私有项目的原始文件。通常,如果我的项目是公开的,这非常简单。

对于公共存储库,这是我的存储库网址(您不必点击它来回答这个问题)

https://github.com/samirtendulkar/profile_rest_api/blob/master/deploy/server_setup.sh

我点击原始的 在这里输入图像描述 之后我点击原始的,我的URL看起来是这样的 https://raw.githubusercontent.com/samirtendulkar/profile_rest_api/master/deploy/server_setup.sh(注意只有单词“raw”被添加到URL中)
这太棒了,然后我执行
ubuntu@ip-172-31-39-47:~$ wget https://raw.githubusercontent.com/samirtendulkar/profile_rest_api/master/deploy/server_setup.sh

当我执行ls命令时,它显示文件已经下载完成。
ubuntu@ip-172-31-39-47:~$ ls
'server_setup.sh'

对于私有仓库,原始文件附带一个令牌。

https://github.com/samirtendulkar/my_project/blob/master/deploy/server_setup.sh

到目前为止一切都很顺利。现在当我点击原始(见上图)时,我的URL会发生变化,并带有一个令牌以及"raw"前缀。

https://raw.githubusercontent.com/samirtendulkar/my_project/master/deploy/server_setup.sh?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

这个URL有额外的参数?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D
我的wget不起作用。我该如何解决这个问题。顺便说一下,当我说它不起作用时,我是指ls没有显示。
ubuntu@ip-172-31-39-47:~$ ls
    'server_setup.sh'

下面显示如下: 在此输入图像描述 这不让我继续运行其他命令。
ubuntu@ip-172-31-39-47:~$ chmod +x server_setup.sh

并且

ubuntu@ip-172-31-39-47:~$ sudo ./server_setup.sh

我需要将项目部署到AWS上 在此输入图片描述


你能具体说明一下你的wget为什么不起作用吗?如果你提供错误信息或实际结果,应该可以帮助解决你的问题。根据我的经验,使用wget获取带有这些参数的URL是可行的,但你可能需要在URL周围加上单引号。 - joanis
@joanis更新了问题并附上了错误信息。 - Samir Tendulkar
请勿在问题中放置文本图像,请将文本放入其中。 - Jim Stewart
1
如果你只是下载一个文件,我建议使用wget的-O选项:wget -O server_setup.sh URL - joanis
将您的wget命令替换为“wget http://url -o server-setup.sh”。它会将文件下载为server-setup.sh。 - Manish R
2个回答

12

这个令牌来自于"Github"的 "Personal Access Tokens" 部分,你可以在此处找到详细信息。

通过使用"Personal Access Tokens",你可以创建一个令牌,并选择第一个选项"repo",以获得对令牌所代表的私人存储库的访问控制。

以下一行解决了我的问题,这个问题是无法下载文件。

希望这能够帮助到您。

wget --header 'Authorization: token PERSONAL_ACCESS_TOKEN_HERE' https://raw.githubusercontent.com/repoOwner/repoName/master/folder/filename

6

当您一次只下载一个文件时,可以使用wget的-O选项:

wget -O server_setup.sh https://raw.githubusercontent.com/samirtendulkar/my_project/master/deploy/server_setup.sh?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

缺点是您必须知道输出文件的名称,但如果我理解您的问题正确,那应该没问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接