2

既存の Web サイトのルートで GIT リポジトリを初期化しました。私はこのサイトのローカル開発用コピーを持っていますが、これは既に GIT リポジトリになっています。ローカル/ライブバージョンは長年にわたって同期が取れていないため、一方を他方から複製することはできません。

それらを再び GIT で整列させようとしていますが、ライブ サイトでフェッチを実行してgit diffを実行できるようにしたいと考えています。

私の問題は、ローカル サイトでライブ サイトをリモート リポジトリとして追加したことです。

git remote add live user@server.co.uk:/path/to/repo

サーバーに ssh 経由で正常にログインできます。

ssh user@server.co.uk

しかし、取得しようとして ssh パスワードを入力すると、コマンド ラインはパスワード プロンプトを返すだけで、入力を間違えたかのように見えます。しかし、SSH を使用してログインできるので、パスワードが正しいことはわかっています。

リモート URL の前にssh://を指定する必要がありますか? sshリモートリポジトリを機能させるために私がしなければならないことはありますか

アップデート

ssh://プレフィックスを追加しましたが、違いはありません。これは .git/config でどのように見えるかです

[remote "live"]
    url = ssh://user@server.co.uk/path/to/repo
    fetch = +refs/heads/*:refs/remotes/live/*

GIT_TRACE =true git fetch liveを実行すると、次の行が追加されます。

trace: run_command 'ssh' 'user@server.co.uk' 'git-upload-pack '\''/path/to/repo'\'''

メッセージを受け取る前に、パスワードを 3 回入力する必要があります。

fatal: the remote end hung up unexpectedly
4

3 に答える 3

2

リモートのエイリアスが欠落していると思います。

git remote add origin user@server.co.uk:/path/to/repo

origin少し注意してください。

投稿した .git/config は正確ですか? そうである場合は、リモート URL を変更してみてください。

url = ssh://user@server.co.uk/path/to/repo

url = user@server.co.uk:/path/to/repo

:サーバー名をサーバー パスから分離していることに注意してください。

于 2012-05-02T08:59:05.617 に答える
0

以下は、サーバーへのシェルアクセスがある場合にのみ適用されます。おそらくあなたが望むものではありませんが、公開/秘密鍵認証を設定してみたい場合に備えて。次のコマンドを使用してRSAキーペアを生成するだけです。

ssh-keygen -t rsa キーペアを生成した後にパスフレーズを保存できるため、パスフレーズを使用することをssh-agentお勧めします。公開キーをサーバーにコピーして、scpを使用できます。

scp -p ~/.ssh/id_rsa.pub host:~/.ssh/そしてサーバーでcat id_rsa.pub >> authorized_keys

于 2012-05-02T10:05:00.283 に答える
0

はい、ssh:// が必要です。.git/config ファイルで変更するだけです:

url = ssh://user@server.co.uk:/path/to/repo
于 2012-05-02T08:58:22.907 に答える