1. ホーム
  2. windows

[解決済み] Git リポジトリを Windows でホスティングする

2022-10-20 06:16:47

質問

現在、Windows で共有 Git リポジトリをホストする方法はありますか? 私は、あなたがLinuxでGitサービスを構成することができることを理解しています。

git daemon

Git サービスをホストするために、フォルダーを共有する以外の Windows ネイティブのオプションはありますか?

EDIT 私は現在、Windows で git リポジトリを保存して作業するために、git の cygwin インストールを使用していますが、他の人にアクセスを提供できるサービスでリポジトリをホストする次のステップに進みたいと思います。

どのように解決するのですか?

Windows で git デーモンを動作させるための手順を紹介します。

(前提条件 デフォルトの Cygwin インストールと、git デーモンをサポートする git クライアント)

ステップ1 : bashシェルを開く

ステップ2 : cygdrive/c/cygwin64/usr/local/bin/ ディレクトリに、以下の内容で "gitd" という名前のファイルを作成します。

#!/bin/bash

/usr/bin/git daemon --reuseaddr --base-path=/git --export-all --verbose --enable=receive-pack

ステップ3 : 昇格したプロンプトから(つまり管理者として)次の cygrunsrv コマンドを実行して、スクリプトをサービスとしてインストールします(注:Cygwin が C:\cygwin64 にインストールされていると仮定しています)。

cygrunsrv   --install gitd                          \
            --path c:/cygwin64/bin/bash.exe         \
            --args c:/cygwin64/usr/local/bin/gitd   \
            --desc "Git Daemon"                     \
            --neverexits                            \
            --shutdown

ステップ4 : 以下のコマンドを実行し、サービスを開始します。

cygrunsrv --start gitd

これで完了です。 もしテストしたいのであれば、以下はローカルマシンに git プロトコルをプッシュできることを示す簡単で汚いスクリプトです。

#!/bin/bash

echo "Creating main git repo ..."
mkdir -p /git/testapp.git
cd /git/testapp.git
git init --bare
touch git-daemon-export-ok
echo "Creating local repo ..."
cd
mkdir testapp
cd testapp
git init
echo "Creating test file ..."
touch testfile
git add -A
git commit -m 'Test message'
echo "Pushing master to main repo ..."
git push git://localhost/testapp.git master