web-dev-qa-db-ja.com

別のマシンから「git clone」するにはどうすればよいですか?

1台のマシン(IPアドレス192.168.1.2)で、Gitリポジトリを作成します

$ cd /home/hap/working
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'

そして、同じWi-Fiネットワーク上に別のマシンがあります。他のマシンからクローンを取得するにはどうすればよいですか?

47
hap497

Gitクローンを実行するには、git + ssh [〜#〜] url [〜#〜] を使用する必要があります。

git clone git+ssh://[email protected]/~/working

分解するには:

  • git+sshは、sitを使用してGitリポジトリに接続することをGitに伝えます。
  • hapはユーザー名です(質問のホームディレクトリに基づいていると思います)。
  • 192.168.1.2は、接続するマシンです
  • ~/workingは、リモートマシン上のGitリポジトリへのパスです(つまり~はあなたのホームディレクトリです)

その他の注意事項:

  • Gitリポジトリーのあるマシンでsshサーバーを有効にする必要があります
  • ユーザーhapのパスワードを知る必要があります。
80
Josiah

両方のマシンにGitがインストールされていると思います。

ここで行うことは、インストールしたサービス、つまり、あるマシンから別のマシンに接続する方法に依存します。

最も単純なケースは、sshdをクローンしたいマシンで実行している場合fromで、必要なマシンからsshを実行できます複製元のマシンにto複製します。

できるなら

ssh 192.168.1.2

(または、他のマシンに別のユーザー名がある場合は、ssh [email protected])、SSH経由でクローンできるようになります。たとえば、 Josiah written

git clone git+ssh://[email protected]/~/working

マシン間のフェッチ/プッシュを継続する場合は、SSHの公開キー認証を設定して、フェッチごとにパスワードを提供する必要がないようにする必要があります。


ソースマシンにsshdがインストールされていない場合、Webサーバーがインストールされ、CGIスクリプトをインストールできる場合は、「スマート」HTTPプロトコルを使用してクローンを作成できます( git-http-backend manpageを参照)または、ウェブサーバーがインストールされている場合は「ダム」HTTPプロトコルを使用してクローンを作成できますが、静的ファイルのみを提供できます(git update-server-info最初にソースリポジトリで)、またはインストールしている場合は rsync を使用してクローンを作成できます。

最後の手段として、「 git bundle 」を使用して、たとえばUSBペンドライブを使用して移動できるアーカイブを作成し、そこからクローンを作成できます。

2
Jakub Narębski

人々はこの答えを探していると思います。ターミナルの次のコマンドは、他のコンピューターにログインし、既存のリポジトリを複製します。ターミナルの現在のパスの場所(したがって、最初にcdを優先場所に)。

git clone [email protected]:/home/path/to/repo.git

IPアドレスがわからない場合。 pingを使用して、サーバーのIPを確認します。 IPアドレスを使用した後は、:その後、絶対パスを書き込みます。

0
Michiel