본문 바로가기

나 어제 배웠다/Hudson&SVN

우분투 GIT 설치

git install & setting [http://webdir.tistory.com/223?category=608940]


1. Git 최신버전 설치

BASH

sudo add-apt-repository ppa:git-core/ppa

sudo apt-get update

sudo apt-get install git-core

git version


2. Gitlite 설치하기

계정 생성

sudo adduser --system --shell /bin/bash --gecos 'git version control' --group --disabled-password --home /home/git  git

로그인

sudo su -l git


3. Gitolite 설치파일 클론하고 설치준비

git clone git://github.com/sitaramc/gitolite

=>/home/git/gitolite 디렉토리가 생성

명령어 실행 위치 생성

mkdir $HOME/bin

Gitolite의 바이너리파일을 설치

gitolite/install -ln

/home/git/bin/gitolite -> /home/git/gitolite/src/gitolite 심볼릭링크 확인


4. SSH-key 등록

puttygen

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA17bnWg+ZVmWfYM05qtgxQz6+NcwjLxXPfcoJWzI62LQiq40+3ktz95mcdPFJ093dOqKRUE4jJQO+87gHc8LQ7lQLXaalDcNB0jgpBW8oevg/hWYijjecPHQ4iwtInlqo7vV+WCdSxPVhcN+L4SzKtjUjnRViOGOzef0gMBZQQJHokmXnkOrlx+dRrxch4osPFqnB4riXF+b6v9Rwv2ISGcIBKBIVZh7bufvCK35ElEDv0in8T8eMO8gmLghlp8uk64T+33vXUCaaARyUPJLAfTOH9BievwHgoqGHG+/+C96iriLymwctKoGxbK2BP84fZTYNP05aCmIWEKl5KMQy/w== rsa-key-20180417


관리자등록

bin/gitolite setup -pk Git-Admin.pub



5. Gitweb 설치하기

gitweb 패키지 설치

sudo apt-get install gitweb

gitweb 접근허용

UMASK 값을 0027로 변경하여 그룹이 접근 가능

sudo vi /home/git/.gitolite.rc

UMASK    =>    0027,

gitweb의 설정중 Gitolite를 설치해 변경된 경로를 변경

sudo vi /usr/share/gitweb/gitweb.cgi

our $projectroot = "/home/git/repositories/";

our $projects_list = "/home/git/projects.list";

gitweb 설정파일

sudo vi /etc/gitweb.conf

$projectroot = "/home/git/repositories/";

$projects_list = "/home/git/projects.list";

아파치 재시작

sudo service apache2 restart





1. Git를 설치

$ sudo add-apt-repository ppa:git-core/ppa

$ sudo apt-get upgrade

$ sudo apt-get update

$ sudo apt-get install git-core

$ git version


2. Git 관리와 저장소 관리를 위한 계정을 생성

$ sudo adduser gitolite

$ sudo adduser git-repo


3. gitolite를 설치한다.

$ su - git-repo

$ git clone https://github.com/sitaramc/gitolite.git

$ ./gitolite/install


4. gitolite 계정에서 저장소(git-repo)로 접속하기 위해서 SSH Key를 등록

$ su - gitolite

$ ssh-keygen

$ scp ~/.ssh/id_rsa.pub git-repo@localhost:/home/git-repo/gitolite.pub

$ ...

$ su - git-repo

$ ./gitolite/src/gitolite setup -pk ./gitolite.pub


5. 사용자 계정을 생성하고, "testing.git"를 clone하고, 수정해서 push하고, 다시 clone하는 과정을 실행

$ su - gitolite

$ git clone git-repo@localhost:gitolite-admin.git

$ git config --global user.email "gitolite@mymail.com"

$ git config --global user.name "gitolite"


$ sudo vi /etc/gitweb.conf

  -> $projectroot = "/home/git-repo/repositories/";

  -> $projects_list = "/home/git-repo/projects.list";

  -> $projects_list = $projectroot" --> projects.list가 update되지 않는다.


$ sudo usermod -a -G git-repo www-data

$ sudo chmod g+r /home/git-repo/projects.list -> sudo chmod 666 /home/git-repo/projects.list

$ sudo chmod -R g+rwx /home/git-repo/repositories -> sudo chmod -R 755 /home/git-repo/repositories


$ sudo vi /home/git-repo/.gitolite.rc

  -> UMASK            =>  0027,

  

  

신규 프로젝트 생성

$ su - gitolite

$ vi ./gitolite-admin/conf/gitolite.conf

  -> repo   kwangho9/project1

  ->        RW+     = kwangho9

$ git commit -a -m "user2 new repository create"

$ git push


// 저장소 삭제는 conf/gitolite.conf를 수정해서 적용할 수 있지만, 완전히 지우지는 못한다. 

// 따라서, console 명령으로 직접 지워야 한다.

$ sudo rm -fr /home/git-repo/repositories/project3.git