Ubuntu12.04 Git Repository 설치 가이드

2 minute read

서버 설정 방법

0.  git 패키지 설치

$ sudo apt-get install git-core

 

1. git server 계정 생성

## ‘git’ 라는 이름의 계정 생성

그냥 다른웹계정하고 함께 써도 되지만 보안을 우위해 권한을 제약하기 위해선 걸어놓는게 좋다

$ sudo adduser –system –shell /bin/bash –gecos ‘git version control’ –group –home /home/git git

git 계정 비밀번호 설정

$ sudo passwd git

 

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

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

 

3-1. GIT 프로젝트를 서버에서 생성

$ sudo su - git $ cd ~

AndroidApp.git 디렉토리 생성

$ mkdir AndroidApp.git $ cd AndroidApp.git

README 파일생성

$ touch README

–bare는 bare-repository로 원격저장소라는 의미이다

이걸 명시하지 않으면 로컬리포지터리로 그냥 작업공간이다

non-bare 리포지터리를 클론하면서 bare 추가가능

나중에 bare옵션을 넣어줄 수도있다

$ git init –bare $ git add . $ git status $ git commit -a -m “Project First Commit”

 

3-2. GIT 프로젝트를 로컬에서 생성

될듯?  확인은 안해봤는데

## git에 넣어줄 기존프로젝트 디렉토리로 이동 $ cd local_project_dir $ git init –bare

원격저장소 설정 확인 - 새로생성했으니 현재는 없어야 정상

$ git remote -v

## $git remote set-url origin git@기트서버주소:git/AndroidApp.git

리모트 서버 등록되었나 확인

$ git remote -v

다 커밋 다 푸시

$ git commit -m ‘init commit’ $ git push –all origin

 

4. 설정완료 테스트

 

###로컬에서

git@를 쓰는건 아까 git계정을 생성했으니까.. 다른계정이면 다른계정을 넣어줘야함

: 뒷쪽은 서버내부 경로를 넣어줘야함. 아까git계정의 home에 프로젝트를 생성했으니까 바로 쓰면됨

$ git clone git@서버주소:~/AndroidApp.git

 

5. ssh public-private key 설정

bitbucket 또는 github를 쓸 때 비밀번호 매번 입력이 귀찮다면 쓰는게 좋다

윈도우

 

키생성방법 보고오기(http://memo.polypia.net/archives/2018)

 

 

github 설정화면으로 이동 (https://github.com/settings/profile) -» 좌측메뉴 SSH GPG 어쩌고가 있음

ssh public key를 입력

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYtiKjhlQEHYTc22Xi5Ml/5q0XcgGPcS6872wEeR42FD3oQ52vwaWITQCktWI47ufgLhURaKO76S37+tFWpXM8si+e4GhYwrH+cjl8a8m/u8yNj0dLra/ZIwHttmvVTDoVPN3zEtEsQFE736ce2ocmSELgeXilExe0pSuR/k5dyfjgoajuG5WnPvsnf5Tzyad8iPrFq21aJv/dNokOFWLalcKALXkhbsbCaqTISKh8Kjbsc/oNmq5XIWLfZV/2r9EYzBa1HG6/uHP8SCKiIHKs76QXXJ+qdoun4DAtijzHqoLKONZcAuNSkILNIb2DzsGzFjTWmNaWRtjbEEFZgMvZ imported-openssh-key

현재시점(2016-05-06)에서 딱 이포맷이라야 인식됨

puttygen으로 생성하는 경우

puttygen

저 노란부분에 생성된 텟스트가 그 포맷임

파일을 저장한 후에 그거 붙여넣어도 인식안됨

 

 

100. 기타 명령어

git를 처음 쓴다면 네가지 정도만 알아도 쓸만하다.

저장 - 업로드 - 다운로드 - 체크아웃

$git commit -m ‘커밋메시지’ 저장 : commit 내가 변경한 내용을 git 저장소에 반영하는것

$git push 업로드 : push 내가 저장(commit)한 내용을 서버에 올리는것

$git pull 다운로드 : pull, fetch 서버의 변경내용을 받아온다 pull과 fetch 두가지 방법이 있고 동작이 조금 다르다. fetch 서버의 변경내역을 받아오고 merge를 자동으로 하지 않는다 코드에 충돌내용이 다 표시됨 pull 자동으로 머징… 내가 수정한게 덮여서 없어지는 사고도 간혹 발생함 두 가지 이해가 안가면 그냥 pull만 써도 무방하다

체크아웃 : checkout 브랜치를 나눠놓고 작업시 다른브랜치의 코드를 가져오는 명령

예를들어 4명의 개발자 1명은 리더 작업시 master, leader, user1, user2, user3의 5개의 브랜치가 생긴다. master, leader 두개브런치는 leader가 관리 리더포함 각 개발자는 leader, user1, user2, user3 각자의 branch에서 작업 작업이 완료되면 leader가 master에 각 코드를 merging 후 테스트 - 완료후 각 개발자에게 알림 master -» leader, user1, user2, user3     모두 master 의 코드를 merge해서 가져옴

대략 이런흐름으로 사용된다

 

 

설정에 참고한 사이트 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/ ]