ブログ
Windows で Git Server 構築
SVNのリポジトリとは別に必要にせまられてGitも利用するようになって数年、思い切ってGitへ完全移行することにしました。
環境:
デスクトップPC:Windows7
ノートPC:MacBookPro(MacOS)
他サーバー多数
目標:
安全なLANの中で使う Git リポジトリなのであまり手間を掛けずに自由に取り扱いたい。
作業用ローカルリポジトリとは別のドライブに共有リポジトリを置いてこまめにバックアップしたい。
主に Windowsで開発、でもMacで触りたいときもある、そんなときに git clone 出来たら嬉しい。
着手中のプロジェクトでは git push で開発用サーバーにデプロイしたい。
方針:
Windows で Git Server 構築(Git for Windows)
LAN内なのでSSL認証なし(git:// プロトコル利用=速度重視)
手順:
Git for Windowsインストール
Git リポジトリを共有する為に git-daemon-export-ok ファイル作成
Git for Windows には git daemon をサービスとして登録する機能は無いようです。
(batchをサービス化するユーティリティを探して利用する手もありますが、出来るだけシンプルにしたいので今回は利用しない)
git daemon を起動するための batch ファイルを作成してスタートアップに入れる。
@echo off
rem -------------------------------------------------
rem Run Git for Windows
rem -------------------------------------------------
set RepositoryPath="D:\Repository"
set gitCommand="%ProgramFiles%"\Git\mingw64\bin\git
rem Run Git Daemon
if not "%GIT_DAEMON_STATUS%"=="RUNNING" (
set GIT_DAEMON_STATUS=RUNNING
start "Git for Windows git-daemon" /min cmd /c "echo %~df0 Running ... && %gitCommand% daemon --export-all --enable=receive-pack --base-path=%RepositoryPath%"
exit
)
SVNリポジトリをGitリポジトリに移行するために git svn clone しましたが過去のコミット履歴、ログも保持したままで移行出来ました。