从私人仓库从Github获取原始文件

时间:2018-10-31 12:36:12

标签: linux git amazon-web-services ubuntu github

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

  

对于公共回购,这是我的回购网址(您无需单击它即可回答此问题)

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

我单击原始 enter image description here

我舔完原始文件后,我的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

到目前为止一切正常,现在,当我单击Raw时(请参见上图),我的URL发生了变化,并在其中带有令牌以及“ raw ”前缀

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

该网址具有这些额外的参数?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

我的wget不起作用。如何解决此问题。顺便说一句,当我说它不起作用时,我的意思不是显示ls

ubuntu@ip-172-31-39-47:~$ ls
    'server_setup.sh'

它显示如下

enter image description here 这并不能使我运行诸如

之类的其他命令
ubuntu@ip-172-31-39-47:~$ chmod  +x server_setup.sh

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

我需要将项目转到AWS上 enter image description here

2 个答案:

答案 0 :(得分:3)

该令牌来自“个人访问令牌”部分,您可以在Github中找到详细信息。

使用个人访问令牌,您可以创建一个并选择第一个选项“ repo”以获取对该令牌的私有仓库的访问控制。

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

希望这会有所帮助

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

答案 1 :(得分:2)

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

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

缺点是您必须知道输出文件名,但是如果我很好地理解您的问题,我认为可以。