web-dev-qa-db-ja.com

Git clone on ssh、Push over https

BitBucketにプライベートGitリポジトリのセットがあります。 SSH経由でクローンを作成して、パスワードを要求せずにクローンを自動化できるようにしたいと考えています。ただし、別のユーザー名でプッシュしたいので、HTTPS経由でプッシュしたいと思います。

PCは一般的なPCであり、誰が変更をプッシュしたかを区別したいのですが、誰が変更をクローンしたかは気にしません。

これを行う方法はありますか?ありがとう!

13
Javi V

そのために2つ以上の異なるリモートを使用できます。デフォルトでは、リモートリポジトリを複製すると、リモート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(ここで2番目のPushはリモートの名前です)。このように、別のユーザーに別のSSHリモートを指定することもできます。

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

次に、git Push push2 branch別のユーザーとしてssh経由でプッシュするため。

21
Michael Adam