web-dev-qa-db-ja.com

WindowsでリモートGitリポジトリをセットアップしてクローンを作成する方法は?

Windowsサーバー上のgitリモートリポジトリからプロジェクトまたはコードをチェックアウト、クローン、またはフェッチする方法を知っている人はいますか?

リポジトリIPは:xxx.xx.xxx.xx、ソースファイルディレクトリはc:\repos\project.git

SUSE Linuxターミナルからのコマンドラインインターフェースに慣れています。私は同じ種類の方法を試しましたが、常にそれは答えます

fatal: ''/repo/project.git'' does not appear to be a git repository
fatal: Could not read from remote repository..
Please make sure you have the correct access rights

誰でもセットアップとクローンの方法を教えてもらえますか?

20
user1213492

Gitでアクセスできるように、Windowsマシンから何らかの共有を設定する必要があります。 Gitは、ssh、リモートファイルシステム、httpの3つのアクセス方法をサポートしています。最後のものはおそらく最も複雑なので、詳しくは触れません。最初の2つは次のとおりです。

  1. Windowsにsshサーバーをセットアップします。

    このガイドを試すことができます: http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/ 。その他のオプションについては この質問 も参照してください。

    git clone [email protected]:/c/git/path/to/repoでクローンを作成するより(パスワードの入力を求められます)。

    この方法の利点は、安全である(接続が暗号化され、sshサーバーが信頼できる)ため、インターネット経由で使用できることです。アクセス中はgitサーバーがWindowsマシンで実行されているため、他のプロセスなどを制御する高度なセキュリティポリシーのフックを設定できます。

  2. Windows共有を使用してリポジトリを共有します。

    Linuxホストよりも、smbmountを使用して共有をマウントする必要があります。アクセス許可の設定方法によっては、ユーザー名とパスワードが必要になる場合があります。

    git clone /share/mountpoint/path/to/repoでクローンを作成してください。

    これはおそらく設定が簡単ですが、安全性が低いため、ローカルネットワークの外部では使用しないでください。また、この場合、Windowsマシンのフックは実行されません(実際にはgitがLinuxマシンで実行しようとしますが、そこで実行されないか、バイパスされる可能性があります)。したがって、高度な設定は適用できません。セキュリティ。

特定のファイルは関係ありません。.gitサブディレクトリを含むディレクトリまたはベアリポジトリであるディレクトリ(上記のpath/to/repo)へのパスを指定する必要があります。

11
Jan Hudec

まず、gitリポジトリは、アクセスする必要があるファイルの集まりにすぎません。あなたはリポジトリのクローンとフェッチについて書きました、そしてこれは簡単な部分です-あなたはファイルにアクセスする必要があります(そして読み取り権限を持っているだけです)。

これは、ファイルシステムへの直接アクセス、http(s)プロトコル、またはssh接続によって実行できます。実際には、ftpサーバーでそれを行う方法さえあります。

あなたができること:

1)sshサーバーを設定してから、sshサーバー経由でgitファイルにアクセスします。実際には、使用するパスはWindowsで使用するsshサーバーによって異なります。 source

2)ファイルにアクセスするようにWebサーバーを設定します:git clone http://Host/path/to/repo

3)LinuxマシンのWindowsからファイルシステムをマウントし、リポジトリをクローンします:git clone /mnt/filesystem/path/to/repo

あなたが選択した方法にもかかわらず、私は Pro Git Book の適切な章を参照することをお勧めします

0