通过ssh git克隆,推送https

Jav*_*i V 13 git ssh https bitbucket

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

PC是一个普通的PC,我想区分是谁推动了改变,但我不关心谁克隆它们.

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

Mic*_*dam 19

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

git push https://git-server/myrepo.git branch
Run Code Online (Sandbox Code Playgroud)

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

git clone ssh://user1@git-server/myrepo.git
cd myrepo
git remote add push https://git-server/myrepo.git
Run Code Online (Sandbox Code Playgroud)

然后你可以git fetch origin或者git pull更新本地结账,你可以用eg推git push push branch(注意push这里的第二个是遥控器的名称).这样,您还可以使用其他用户指定不同的ssh远程:

git remote add push2 ssh://user2@git-server/myrepo.git
Run Code Online (Sandbox Code Playgroud)

然后你可以做git push push2 branch以通过ssh作为不同的用户推送.