通过ssh git克隆,推送https

时间:2015-06-16 14:02:14

标签: git ssh https bitbucket

我在BitBucket中有一套私人Git回购。我想通过SSH克隆它们,以便克隆可以自动化而无需输入密码。但是,我想推送HTTPS,因为我想推送一个不同的用户名。

PC是一台普通的PC,我想区分是谁推动了改变,但我不在乎谁克隆它们。

有没有办法做到这一点?谢谢!

1 个答案:

答案 0 :(得分:14)

您可以使用两个或更多不同的遥控器。默认情况下,克隆远程存储库时,会自动为您创建远程origin。但是你可以在git命令行上指定一个不同的存储库,每次都像是一样。

git push https://git-server/myrepo.git branch

但如果您计划多次使用它们,则将它们添加为命名遥控器会更方便。这是一个更完整的示例脚本:

git clone ssh://user1@git-server/myrepo.git
cd myrepo
git remote add push https://git-server/myrepo.git

然后,您可以git fetch origingit pull更新本地结帐,您可以推送,例如git push push branch(请注意,这里的第二个push是遥控器的名称)。这样,您还可以使用其他用户指定不同的ssh远程:

git remote add push2 ssh://user2@git-server/myrepo.git

然后你可以git push push2 branch来推送ssh作为不同的用户。