我在BitBucket中有一套私人Git回购。我想通过SSH克隆它们,以便克隆可以自动化而无需输入密码。但是,我想推送HTTPS,因为我想推送一个不同的用户名。
PC是一台普通的PC,我想区分是谁推动了改变,但我不在乎谁克隆它们。
有没有办法做到这一点?谢谢!
答案 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 origin
或git pull
更新本地结帐,您可以推送,例如git push push branch
(请注意,这里的第二个push
是遥控器的名称)。这样,您还可以使用其他用户指定不同的ssh远程:
git remote add push2 ssh://user2@git-server/myrepo.git
然后你可以git push push2 branch
来推送ssh作为不同的用户。