不同用户的Git pull命令

94

我和朋友一起在一个Git项目上工作。如果我需要从我的朋友的机器上拉取更改,我可以使用以下命令从我的用户名/密码拉取而不会有任何问题吗?

git pull https://myusername@github.com/abc/theproject.git

2
你是想直接从朋友的电脑上拉取他的更改,而不通过GitHub吗? - Chris
@Chris,是的,基本上我们的网站部署在他的机器上。我已经做了一些更改并将其推送到Github。现在我想通过从Github拉取来部署这些更改,因为我的朋友现在正在度假。 - Mohsin Inayat Khan
3个回答

189

这个命令将帮助以不同的用户从存储库中拉取:

git pull https://myusername@github.com/projectfolder/projectname.git master

当您使用之前有人使用过并保存了凭据的同一台机器时,这是一种解决方法。


1
它适用于我! - Alessandro

39

在寻找解决类似问题的方法时,感谢Davlet和Cupcake提供的答案,让我解决了我的问题。

我在这里发布答案,因为我认为这是预期的问题。

所以我想通常像我这样的人面临的问题是,当另一个用户在服务器上克隆了一个仓库,并且该用户不再与该仓库关联时,该怎么办。

如何从仓库中拉取而不使用旧用户的凭据?

您可以编辑您的仓库的.git/config文件。

并更改

url = https://<old-username>@github.com/abc/repo.git/

url = https://<new-username>@github.com/abc/repo.git/

保存更改后,从现在开始,git pull将使用新用户的凭据来获取数据。

我希望这可以帮助有类似问题的任何人。


15
更好的做法是在URL中不包含用户名,这样在拉取时会要求输入用户名。 - PLPeeters
1
我也是这样做的,将 URL 从 URL 中删除,像这样:而不是直接编辑:git remote set-url origin https://git.mycompany.com/scm/myproj.git ... 然后确保所有用户(其 Linux 组)都可以写入项目和 .git 文件夹(否则,当其他用户运行'git pull'时,他们会收到更新 .git/HEAD 失败的错误提示)。 - armyofda12mnkeys

3

您的问题有点不太清楚,但如果您想要获取朋友的最新更改,那么通常情况下您的朋友需要将这些更改推送到远程仓库(比如托管在GitHub上的仓库),然后您可以从远程仓库中获取或拉取这些更改:

  1. Your friend pushes his changes to GitHub:

    git push origin <branch>
    
  2. Clone the remote repository if you haven't already:

    git clone https://myusername@github.com/abc/theproject.git
    
  3. Fetch or pull your friend's changes (unnecessary if you just cloned in step #2 above):

    git fetch origin
    git merge origin/<branch>
    

    Note that git pull is the same as doing the two steps above:

    git pull origin <branch>
    

另请参阅


该网站已部署在我朋友的机器上。我在自己的机器上进行了一些更改并将其推送到了Github。现在,由于他正在度假,我想通过在我朋友的机器上拉取来部署这些更改。 - Mohsin Inayat Khan
@MohsinInayatKhan 那么请登录到您朋友的机器上,按照我上面指出的步骤#3进行操作,假设这是您的部署流程。为什么您的网站部署在您朋友的机器上而不是某个生产服务器上?您的朋友使用的是什么样的机器,笔记本电脑吗?如果是的话,那将不是一个非常安全或可靠的托管业务网站的方式。 - user456814
谢谢大家的帮助。以下命令对我有用。 git pull https://myusername@github.com/abc/theproject.git master - Mohsin Inayat Khan
@MohsinInayatKhan,你可以将其发布为答案。 - user456814

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