Git 通过 ssh 克隆,通过 https 推送
Git clone over ssh, push over https
我在 BitBucket 中有一组私有 Git 存储库。我想通过 SSH 克隆它们,这样克隆就可以自动进行而无需输入密码。但是,我想通过 HTTPS 进行推送,因为我想使用不同的用户名进行推送。
PC是普通PC,我想区分是谁推送的更改,我不关心是谁克隆的。
有什么办法吗?谢谢!
您可以为此使用两个或多个不同的遥控器。默认情况下,当您克隆远程存储库时,远程 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 推送。
我在 BitBucket 中有一组私有 Git 存储库。我想通过 SSH 克隆它们,这样克隆就可以自动进行而无需输入密码。但是,我想通过 HTTPS 进行推送,因为我想使用不同的用户名进行推送。
PC是普通PC,我想区分是谁推送的更改,我不关心是谁克隆的。
有什么办法吗?谢谢!
您可以为此使用两个或多个不同的遥控器。默认情况下,当您克隆远程存储库时,远程 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 推送。