윈도우 Git 호스팅 요약¶
http://aspiringcraftsman.com/2012/02/20/hosting-a-git-repository-in-windows/
GitHub 에서 매번 클론하는 것은 시간이 오래걸립니다. 미러 저장소를 한번 만들어두면 빠르게 클론할 수 있습니다.
미러 Mirror¶
GitHub 에서 저장소를 미러로 클론합니다. :::bat md C:\Repositories\git cd C:\Repositories\git git clone --mirror https://github.com/소유자/프로젝트
기존에 이미 받아놓은 로컬 저장소가 있다면 미러 클론 후 설정을 변경합니다
git clone --mirror C:\기존_프로젝트 C:\Repositories\git
C:\Repositories\git\프로젝트\config
[remote "origin"]
- url = C:/기존_프로젝트
+ url = https://github.com/소유자/프로젝트
fetch = +refs/*:refs/*
mirror = true
미러는 주기적으로 최신으로 업데이트해줍니다
cd C:\Repositories\git\프로젝트
git remote update
미러 저장소를 사용해 Git 호스팅을 구축하면 git 프로토콜을 사용해 네트워크 접근이 가능합니다.
git clone git://localhost/프로젝트 C:\프로젝트
데몬 Daemon¶
C:\Repositories\git\gitd.bat
@echo off
"C:\Program Files\Git\bin\git.exe" daemon --reuseaddr --base-path=%~dp0 --export-all --enable=receive-pack
로컬 테스트
git clone git://localhost/저장소
서비스 Service¶
서비스 등록 앱을 빌드한 다음 서비스 관리 배치 파일을 작성합니다.
C:\Repositories\git\gitd_service_create.bat
@echo off
sc.exe create "GitDaemon" binpath="%~dp0\ServiceRunner.exe %~dp0\gitd.bat" start=auto
pause
C:\Repositories\git\gitd_service_start.bat
@echo off
sc.exe start "GitDaemon"
pause
C:\Repositories\git\gitd_service_stop.bat
@echo off
sc.exe stop "GitDaemon"
pause
C:\Repositories\git\gitd_service_delete.bat
@echo off
sc.exe delete "GitDaemon"
pause
관리자 권한으로 서비스 관리 배치 파일을 실행합니다.