2017-12-01 22 views
0

変更をリポジトリに取り込もうとしています。 repoの起源はもともとは別のgitサーバ上にあったので、起源は別のサーバに移動しました。別のSSHキーを使用してgitをプルする

# in /root/.ssh/config 
Host gitlab-app 
    HostName git.ist 
    User git 
    IdentityFile /root/.ssh/id_rsa_app 
    IdentitiesOnly yes 

とレポのクローンを作成するために、このようなコマンドを使用することができます。私たちは「アプリ」と呼ばれる一般的なユーザーを持つ新しいサーバーでは、他のマシン上で、私たちは、アプリのユーザ秘密鍵などのような設定ファイルを追加しました:

git clone gitlab-app:software-development/my_repo.git 

問題は、特定のサーバー上で、Repoについて話している私は、以前の場所からすでにクローンされていたということです。私は新しい場所にリポジトリのリモートURLを変更しましたが、sshを引き抜こうとするときにパスワードを要求されます。私はgitlabホスト上にこのサーバからの鍵がないので推測します。したがって、一般的な 'アプリ'ユーザーです。

私の質問は、ルートユーザーとしてpullコマンドを実行しているときに、sshのアプリケーションユーザーキーを使用するようにリポジトリを設定する方法です。

git config core.sshCommand 'ssh -i ~/.ssh/id_rsa_app -F /dev/null' 

しかし、それは私のためには効果がなかった:私はこれを見た他のいくつかのスレッドで

答えて

0

これは簡単な解決策でした。私がサーバー上のレポのリモートURLを変更したとき、私はちょうどgitlabページから標準URLをコピーして貼り付けました。私はそれを変更するために必要なことだった:

[email protected]:software-development/my_repo.git 

からGitの設定ファイルが実際に使用され、その結果

gitlab-app:software-development/my_repo.git 

に。クローンリンクのように。そこで、基本的

git remote set-url origin gitlab-app:software-development/my_repo.git 
関連する問題