WindowsのGitサーバ(リモートリポジトリ)構築メモ
- Mon
- 00:31
- Windows
Windows7にリモートリポジトリ用のGitサーバを構築したのでそのメモ。
利用したのは、Gitの公式ツールGit for Windows
手順としては、
1. Git for Windowsのインストール
2. sshd用アカウントの作成
3. sshdの起動
4. git daemonの起動
5. リモートリポジトリの作成
改行コートの指定などは各環境に合わせて適当に。
公式Gitツールのsshdとの違いは下記の通り。
Git公式のsshdはsshdアカウントが必要なのでコンパネから標準ユーザで作成。
コントロール パネル\ユーザー アカウント\アカウントの管理\新しいアカウントの作成
例えば、C:\Program Files\Git\etc\ssh とか。
コピー後、MINGW64を立ち上げ(エクスプローラの適当なフォルダを右クリップでGit Bash Hereを選択)フルパスで起動。

sshdの起動はフルパスでないと怒られるのでフルパスで起動。



複数のGitクライアントとのやり取りは下記に続く
利用したのは、Gitの公式ツールGit for Windows
手順としては、
1. Git for Windowsのインストール
2. sshd用アカウントの作成
3. sshdの起動
4. git daemonの起動
5. リモートリポジトリの作成
1. Git for Windowsのインストール
Git for WindowsをDLして、インストール。特に困ることはないと思うのでそのままインストール。改行コートの指定などは各環境に合わせて適当に。
2. sshd用アカウントの作成
Windows用のsshdは、Microsoftの公式OpenSSHのライブラリの中にもありますが、微妙にパス解決のやり方が違うのかそのままだとリポジトリがない的なエラーが出ます。ということで、Git公式ツールの中にもssh関連のライブラリが同梱されているのでそのsshdを利用。公式Gitツールのsshdとの違いは下記の通り。
内容 | Git公式 | MS公式 |
sshdアカウント | 必要 | 不要 |
起動シェル | MINGW64 | 標準コマンドライン |
起動方法 | フルパス指定 | 管理者権限で(psexecが便利) |
Git公式のsshdはsshdアカウントが必要なのでコンパネから標準ユーザで作成。
コントロール パネル\ユーザー アカウント\アカウントの管理\新しいアカウントの作成
3. sshdの起動
まず、sshd用に各種hostキーを作成。$ ssh-keygen.exe -t rsa -f ssh_host_rsa_key $ ssh-keygen.exe -t dsa -f ssh_host_dsa_key $ ssh-keygen.exe -t ecdsa -f ssh_host_ecdsa_key $ ssh-keygen.exe -t ed25519 -f ssh_host_ed25519_keyで、作成したキーはGitをインストールした/etc/sshに保存する。
例えば、C:\Program Files\Git\etc\ssh とか。
コピー後、MINGW64を立ち上げ(エクスプローラの適当なフォルダを右クリップでGit Bash Hereを選択)フルパスで起動。

sshdの起動はフルパスでないと怒られるのでフルパスで起動。
user01@PC01 MINGW64 / $ /usr/bin/sshd.exeタスクマネージャで確認。

4. git daemonの起動
同じく、MINGW64からgitコマンドで起動user01@PC01 MINGW64 /c/a_git_repo $ git daemon --verbose --reuseaddr --export-all --enable=receive-pack --enable=upload-pack --base-path=/c/a_git_repo [7736] Ready to rumble

5. リモートリポジトリの作成
下記の様なスクリプトを作成しておくと便利。#!/bin/sh REPO=test01.git rm -fr $REPO mkdir $REPO touch $REPO/git-daemon-export-ok cd $REPO git init --bare --share

複数のGitクライアントとのやり取りは下記に続く
[続きを見る]