Git에 대해 개념부터 차근차근 정리해 보려고 했으나 이미 정리가 아주 잘 되어 있는 공식 사이트가 존재하여 개념적인 부분은 건너뛰도록 해야 겠다.
자세히 알아보고 싶으면 아래 URL로 접속하여 확인해보기 바란다.
http://git-scm.com/book/ko/v1/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0
Git 설치 - Linux
설치하기전에 필수 라이브러들이 필요하다. Git은 curl, zlib, openssl, expat, libiconv를 필요로 한다. Fedora처럼 yum을 사용하는 시스템이나 apt-get이 있는 데비안류 시스템이면 아래 명령어를 실행하여 의존 패키지를 설치할 수 있다.
$ yum install curl-devel expat-devel gettext-devel \
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ |
라이브러리들 설치가 완료 되면 아래 URL을 참고하여 설치를 진행하면 된다.
http://git-scm.com/download/linux
Git설치 - Windows
윈도우는 아래 URL을 통해 설치 파일을 다운받은다음 바로 설치하면 된다.
http://git-scm.com/download/win
Git 최초 설정 - 사용자 정보 등록 (등록하려는 값에 공백이 있다면 더블쿼터(")를 사용한다.)
$ git config --global user.name "Sung Hun" |
만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 실행한다.
Git 최초 설정 - 편집기
$ git config --global core.editor emacs |
Git의 기본 편집기는 Vi나 Vim이다.
Git 최초 설정 - Diff 도구
$ git config --global merge.tool vimdiff |
Diff도구는 여러가지가 있는데..실제 콘솔에서 문서를 비교할일은 그다지 없을것으로 생각된다. 특별히 설정하지 않아도 기본도구가 셋팅되어 있다.
Git 설정 정보 확인
$ git config --list $ git config user.name |
Git 도움말 보기
$ git help <verb> |
Git 저장소 만들기
$ git init $ git init --bare -- remote 저장소 만들기 |
Git 파일 추가하고 Commit
$ git add *.c |
기존 저장소를 Clone하기
$ git clone git://github.com/schacon/grit.git $ git clone git://github.com/schacon/grit.git mygrit - 특정 폴더로 Clone |
파일의 상태 확인하기
$ git status |
파일 무시하기
$ cat .gitignore |
Git 디렌토리에 .gitignore 파일을 생성하여 해당 파일 안에 원하는 패턴을 작성하면 일치하는 파일 및 폴더를 무시하다.
.gitignore 파일에 입력하는 패턴은 아래 규칙을 따른다.
- 아무것도 없는 줄이나, #으로 시작하는 줄은 무시한다.
- 표준 Glob 패턴을 사용한다.
- 디렉토리는 슬레쉬(/)를 끝에 사용하는 것으로 표현한다.
- 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다.
파일 삭제하기
$ git rm grit.gemspec $ git rm --cached readme.txt -- 실제 파일은 보관 $ git rm log/\*.log $ git rm \*~ |
파일 이름 변경하기
$ git mv file_from file_to |
Commit History 조회
$ git log $ git log -p 2 -- 최근 2개의 commit 정보 $ git log --stat -- 각 commit의 통계 정보 $ git log --pretty=oneline -- commit정보를 한 줄로 보여줌 |
commit 되돌리기
$ git commit --amend |
Remote 저장소 확인하기
$ git remote $ git remote -v -- URL 정보를 함께 본다 |
Remote 저장소 추가하기
$ git remote add [단축이름] [url] |
Remote 저장소 변경하기
$ git remote set-url [단축이름] [url] |
Remote 저장소에 Push와 Pull
$ git push origin master -- origin이라는 리모트 서버에 master branch 올리기 $ git push origin :serverfix -- origin이라는 리모트 서버에서 serverix branch 삭제 $ git push --all [url] -- 리모트 서버로 모든 정보 밀어 넣기 $ git pull -- 리모트 서버에서 데이터 가져오기 |
Remote 저장소 삭제와 이름 바꾸기
$ git remote rename pb paul -- pb를 paul로 변경 $ git remote rm paul -- paul을 삭제 |
Tag 명령어
$ git tag -- 태그 목록 조회 $ git tag -l 'v1.2.*' -- 목록 패턴 조회 $ git tag -a v1.4 -m 'my version 1.4' -- 태그 등록 $ git tag -a v1.2 -m 'version 1.2' [체크섬] -- 이전 commit의 체크섬에 태그 등록 $ git tag v1.5 -- Lightweight 태그 등록 |
Branch 명령어
$ git branch -- branch list $ git branch testing -- branch create $ git checkout testing -- branch 이동(사용) $ git merge testing -- 현재 branch에 testing branch를 합친다. $ git branch -d testing -- branch 삭제 $ git branch -v -- 마지막 commit 메세지 보기 $ git branch --merged -- 이미 merge한 branch 목록 (삭제해도 되는 branch) $ git branch --no-merged -- merge하지 않는 branch 목록 |
일단 이정도까지만...
자주 사용할만한 명령어만 일단 정리 했는데도 꽤 많다. 혹시 더 필요한 명령어가 필요하다면 나중에 추가하도록 하겠다.
'형상관리' 카테고리의 다른 글
Push와 Pull 과정에서의 충돌 문제 (0) | 2017.06.27 |
---|---|
Git의 Checkout과 Commit 그리고 Push Pull (0) | 2017.06.23 |
Git 프로젝트 생성하기 (0) | 2017.06.20 |