[解決済み] ローカルリポジトリをgit-pullで利用可能にするにはどうしたらいいですか?
質問
私は問題なく作業しているコピーリポジトリを持っています。このリポジトリのオリジンはGitHubにあります。
作業コピーリポジトリを、ビルドマシン (別の物理ホスト上の VM) のオリジンとして利用できるようにしたいと思います。そうすれば、私が作業コピーに行ったコミットを、最初に GitHub を経由せずにビルドマシンでビルドしてテストすることができます。 私はすでにGitHubリポジトリ用のビルドを持っていますが、これはquot;golden"リポジトリ/ビルドであってほしいのです。
Git の URL に関するドキュメントを見たところ、URL の形式として
git://host.xz[:port]/path/to/repo.git/
という形式の URL を使用するオプションがあることがわかりました (たとえば
git-clone ドキュメント
). 私はこれをできるだけシンプルな方法で、最小限の設定だけで行いたいと思っています。これをビルドマシンに公開するために、SSH デーモンや Web サーバーをセットアップする必要はありません。
私は Windows 7 x64 RC を使用しており、MSysGit と TortoiseGit をインストールし、ファイアウォールで Git のデフォルトポート (9814) を開きました。 作業コピーリポジトリは
D:\Visual Studio Projects\MyGitRepo
にあり、ホスト名が
devbox
. ビルドマシンは、Windows Server 2008 x64です。 私は、ビルド マシン上で次のコマンドを試しましたが、関連する出力がありました。
D:\Integration>git clone "git://devbox/D:\Visual Studio Projects\MyGitRepo"
Initialized empty Git repository in D:/Integration/MyGitRepo/.git/
devbox[0: 192.168.0.2]: errno=No error
fatal: unable to connect a socket (No error)
何か見逃していませんか?
どのように解決するのですか?
pull fromのためのリポジトリを設定するために5つの可能性が存在します。
-
ローカルファイルシステム
:
git clone /path/to/repo
またはgit clone file://path/to/repo
. ネットワークに接続されたファイルシステムがある場合、最小限の作業で済みますが、ネットワークの使用効率はあまりよくありません。 (が提案する解決策とほぼ同じです。 Joakim Elofsson ) -
HTTP プロトコル
:
git clone http://example.com/repo
. 必要なのは 任意の ウェブサーバが必要で、さらに(おそらくフックから自動的に)実行する必要があります。 git-update-server-info を実行して、quot;dumb" プロトコル経由でのフェッチ/プルに必要な情報を生成する必要があります。 -
SSH
:
git clone ssh://example.com/srv/git/repo
またはgit clone example.com:/srv/git/repo
. SSHサーバ(SSHデーモン)をセットアップし、クライアントにSSHをインストールする必要があります(例:MS WindowsのPuTTYなど)。 -
gitプロトコル
:
git clone git://example.com/repo
. を実行する必要があります。 git-daemonを実行する必要があります。 をサーバ上で実行する必要があります。詳しくはドキュメントをご覧ください(サービスとして実行する必要はなく、取得のためだけにスタンドアロンプロセスとして実行することができます)。 -
バンドル
: バンドルは
git-bundle
コマンドで生成し、それを任意の方法で (USB 経由でも) クライアントマシンに転送し、クローンするには
git clone file.bndl
(でクローンします(クローンがうまくいかない場合は、"git init", "git remote add", "git fetch" を実行するとよいでしょう)。
この例で欠けているのは、おそらくサーバー上で git-daemon を実行していることです。それか、git-daemon の設定が間違っているのでしょう。
残念ながら、MS Windows上でサービスとしてgit-daemonを実行することについては、私は手助けできません。msysGit の最後のバージョンのアナウンスには、git-daemon が動作しないことについては何も書かれていませんが。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
Gitのエラーについて覚えておく-すべて最新にする
-
コミットには何も追加されないが、未追跡のファイルが存在する解決策
-
fatal: パス仕様 'readme.txt' がどのファイルにもマッチしなかった Solution
-
git のコンパイルとインストールの問題を解決する fatal: https のリモートヘルパーが見つからない
-
[解決済み] Gitの本番環境へのプッシュ(FTP)
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] gitは "サイレントモード "で動作しますか?
-
[解決済み] 別のユーザーでコードをコミットするにはどうすればよいですか?