dev-os

[Linux] Git 서버 설치

검은바람 2013. 6. 26. 11:59
반응형

0. git 패키지 설치

$ sudo apt-get install git-core


1. git server 계정 생성

$ sudo adduser \<br /> --system \<br /> --shell /bin/bash \<br /> --gecos 'git version control' \<br /> --group \<br /> --home /home/git \<br /> git<br /> $ sudo passwd git


2. git 정보가 저장될 repositories 디렉토리 생성

$ sudo -u git mkdir /home/git/repositories


3. 서버측에 저장할 프로젝트를 로컬에 생성

$ cd<br /> $ mkdir Project<br /> $ cd Project<br /> $ touch README<br /> $ git init<br /> $ git add .<br /> $ git status<br /> $ git commit -a -m "Project First Commit"


4. public repository를 만들기 위한 설정

$ pwd<br /> ~/Project<br /> $ cd ..<br /> $ ls<br /> Project<br /> $ git clone --bare Project Project.git<br /> $ touch Project.git/git-daemon-export-ok<br />


5. Project.git을 git계정의 repositories로 이동

$ sudo -u git cp -R Project.git /home/git/repositories<br /> $ cd /home/git/repositories/Project.git<br /> $ sudo -u git git --bare update-server-info<br /> $ 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<br /> $ cd dev<br /> $ git clone git@HostName:repositories/Project<br />


7. 기타 명령어
- 로컬 리포지토리에 서버 저장소 alias 추가

$ pwd<br /> ~/Project<br /> $ git remote -v<br /> $ git remote add sv git@HostName:repositories/Project<br /> $ git remote -v<br /> sv git@HostName:repositories/Project (fetch)<br /> sv git@HostName:repositories/Project (push)


- 로컬 리포지토리에서 파일을 수정한뒤 서버 리포지토리에 업로드 하는 방법

$ vim README<br /> $ git commit -a -m "README file modified"<br /> $ git push sv<br />


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

$ git fetch sv

 

반응형