git 서버 설치 요령

2012.07.28 18:37

가을의 곰을... 조회 수:4020

 

 

 

git server repository 환경 구성하기

[출처] http://khmirage.tistory.com/309 

git은 kernel 프로젝트에서 그동안 사용해오던 BitKeeper대신
kernel 소스버전 관리를 위해 리누스 토발즈가 참여하여 개발한
분산 소스 버전 관리 시스템입니다.

이 git을 사용하기로 결정한 이유는 CVS나 SVN등의 중앙 버전 관리 시스템들은
cvs/svn 서버가 켜져있어야만 commit등의 작업을 수행할수 있지만
git은 서버가 켜져 있지 않아도 local 저장소에 commit등의 작업을 할수 있어서
저처럼 여러 컴퓨터에서 작업을 수행할때 불편함을 조금은 덜수 있을거 같았기에
설정을 해보았습니다.

git_structure.png  

어후 이미지 수정 완료 ㅡㅜ :: dia로 그린 이미지....

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com



제가 사용하려고 하고자 하는 구조는 이미지처럼 컴퓨터 3대에서
각각의 local 저장소를 만들고 3대중 한대인 노트북에 서버 저장소를 만들어서
서로간에 clone, pull, fetch등을 수행하는 것입니다.

서버 저장소를 만들곳은 우분투 리눅스 ( Ubuntu Linux ) 10.04 LTS버전이
설치되어있는 노트북입니다.


설정 방법
0. git 패키지 설치
$ sudo apt-get install git-core

1. git server 계정 생성
$ sudo adduser \
--system \
--shell /bin/bash \
--gecos 'git version control' \
--group \
--home /home/git \
git
$ sudo passwd git

2. git 정보가 저장될 repositories 디렉토리 생성
$ sudo -u git mkdir /home/git/repositories

3. 서버측에 저장할 프로젝트를 로컬에 생성
$ cd
$ mkdir Project
$ cd Project
$ touch README
$ git init
$ git add .
$ git status
$ git commit -a -m "Project First Commit"

4. public repository를 만들기 위한 설정
$ pwd
~/Project
$ cd ..
$ ls
Project
$ git clone --bare Project Project.git
$ touch Project.git/git-daemon-export-ok

5. Project.git을 git계정의 repositories로 이동
$ sudo -u git cp -R Project.git /home/git/repositories
$ cd /home/git/repositories/Project.git
$ sudo -u git git --bare update-server-info
$ sudo -u git mv hooks/post-update.sample hooks/post-update

6. 다른 컴퓨나 임의의 디렉토리에서 clone 명령을 수행 파일을 제대로 받아오는지 확인
Project.git을 만들때 사용한 Project 디렉토리는 백업후 clone을 통해 새로 생성을 해주도록 한다.
clone을 통해 Project.git 내용을 받아와야 따로 remote를 추가하지 않아도 origin이라는 alias로
remote가 기본 셋팅이 되게 된다.
$ mkdir dev
$ cd dev
$ git clone git@HostName:repositories/Project

7. 기타 명령어
- 로컬 리포지토리에 서버 저장소 alias 추가
$ pwd
~/Project
$ git remote -v
$ git remote add sv git@HostName:repositories/Project
$ git remote -v
sv git@HostName:repositories/Project (fetch)
sv git@HostName:repositories/Project (push)

- 로컬 리포지토리에서 파일을 수정한뒤 서버 리포지토리에 업로드 하는 방법
$ vim README
$ git commit -a -m "README file modified"
$ git push sv

- 서버 리포지토리에 변경된 내용을 받는 방법
$ git fetch sv



설정에 참고한 사이트
01. git manual : [ http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository ]
02. aesop git 강좌 : [ http://www.aesop.or.kr/?document_srl=156745&mid=Board_Documents_Application ]
03. windows git
- msysgit : [ http://code.google.com/p/msysgit/ ]
- git Extensions : [ http://sourceforge.net/projects/gitextensions/files/ ]

windows에서 사용하기로는 git Extensions가 가장 좋을듯 합니다.
msysgit은 cmd창에 리눅스 명령이 가능하도록 만든 형식이라 콘솔 명령이 익숙치 않으면 조금 불편한데다가 git Extensions를 설치할때 msysgit을 설치하게됩니다. 그 위에 GUI를 입혀서
작동하는 방식이다보니 처음 사용자는 GUI쪽이 좀더 낫겠지요



덧붙이는 글 1.) 어제 이 설정을 하느라 거의 12시간을 소비했네요.....
처음부터 git manual 사이트를 참고해서 했으면 금방 끝냈을 것을 google 검색으로 나온 사이트들을
참고 하면서 하느라 제가 구성하려는 환경에서는 그다지 필요치 않은
gitosis라던지 git daemon이라던지 설치해서 삽질하느라 날린 시간 생각하니 어후 ㅠ.ㅠ

한줄 결론 : 공식 메뉴얼 사이트가 짱임!!!

덧붙이는 글 2.) 쓸데없는 곳에서 삽질하는 중에 올바른 방법을 알려주신 peniar님 감사합니다.




 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
175 이통사 OpenAPI file 가을의 곰을... 2012.08.22 4175
174 포털 OpenAPI file 가을의 곰을... 2012.08.22 4099
173 공공기관 OpenAPI 가을의 곰을... 2012.08.22 3356
172 멀티부팅시 우분투 GRUB 복구하기.. file 가을의 곰을... 2012.08.21 6025
171 Hadoop HDFS BASIC Usage Over View : 하둡 사용 개요 가을의 곰을... 2012.08.20 5378
170 HDFS 테스트 file 가을의 곰을... 2012.08.20 4560
169 클라우드 기반의 재해복구 시스템 (DRS system) 구축 분석에 대한 논문 가을의 곰을... 2012.08.20 4576
168 오픈 소스 클라우드 분석 file 가을의 곰을... 2012.08.20 3896
167 Visual studio 2010 에서 소스파일을 UTF-8 로 자동변환 file 가을의 곰을... 2012.08.19 3622
166 HTML5로 자신만의 3D 엔진을 만들자 file 가을의 곰을... 2012.07.29 8303
165 SQL 쿼리를 NoSQL인 MongoDB 쿼리로 변경하기 가을의 곰을... 2012.07.29 4249
164 GitHub 소개글 - 류광님 가을의 곰을... 2012.07.29 3523
163 GIT Server 구축 : LINUX UBUNTU, MS WIN file 가을의 곰을... 2012.07.28 5786
» git 서버 설치 요령 file 가을의 곰을... 2012.07.28 4020
161 mongoDB와 PHP 참고자료 가을의 곰을... 2012.07.15 4845
160 MongoDB와 PHP 연동 가을의 곰을... 2012.07.15 4767
159 phpmyadmin과 비슷하게 mongoDB를 php 서버로 관리하기 위한 phpMoAdmin file 가을의 곰을... 2012.07.15 10935
158 Hadoop을 이용한 분산 데이터 처리, Part 3: 애플리케이션 개발 file 가을의 곰을... 2012.07.15 3577
157 Hadoop을 이용한 분산 데이터 처리, Part 2: 추가 주제 file 가을의 곰을... 2012.07.15 3979
156 Hadoop을 이용한 분산 데이터 처리, Part 1: 시작 file 가을의 곰을... 2012.07.15 4444
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED