misc tip

Config git server

shadefly 2025. 5. 8. 17:07

Motivation

github 와 같이 훌륭한 git repository가 있다. 하지만 비공개 git repository는 유료이다.  집에서 놀고 있는 PC를 private git repository로 활용하자.

Evaluation

1.git server 설치

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git-core
git version

 

2. git 권한 관리

#.ssh 디렉토리 생성
mkdir .ssh
# 권한 변경
chmod 700 .ssh
# 서버로 공개키를 전송하고 등록
cat id_rsa.pub >> ~/.ssh/authorized_keys
# 권한 변경
chmod 600 ~/.ssh/authorized_keys

 

3.git repository 생성.

mkdir repos
cd repos
#remote repository 생성시.
cd project.git
git init --bare --shared
#기존 소스가 있는 경우.
git clone --bare --shared [repository 경로]

 

4. client에서 접근.

git clone ssh://your_id@server_addr:port_num/home/repos/project.git

permission error 발생시.
insufficient permission for adding an object to repository database ./objects

cd /home/git/repos
sudo chmod -R 770 *
#해결이 안될 때는 아래도 해볼 것.
sudo chmod -R g+ws *
sudo chgrp -R mygroup *

 

5.원격 PC에서 git clone 및 반영.

-remote branch clone

git clone ssh://your_id@server_addr:port_num/home/repos/project.git

 

– 변경사항 반영.

git add .
git commit -m "bla bla~"
git push origin master

 

– 변경사항 pull

git pull origin master

 

6.참고 링크
서버에 Git 설치하기

 

Redirecting…

 

git-scm.com

 

Conclusion

– 잘 된다. 간단히 사용하기에는 위의 설정만으로도 충분할 것 같다. 하지만 여러명이 작업을 하기 위해서는 gerrit, git web등을 추가 설치 해야 한다. 삽질 해서 한번 깔아봤는데.. 그다지 하고 싶진 않은 작업이었다.