본문 바로가기

형상관리

Git 설치 및 명령어 정리

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 \
  openssl-devel zlib-devel

 

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

 

라이브러리들 설치가 완료 되면 아래 URL을 참고하여 설치를 진행하면 된다.

http://git-scm.com/download/linux

 

 

Git설치 - Windows

윈도우는 아래 URL을 통해 설치 파일을 다운받은다음 바로 설치하면 된다.

http://git-scm.com/download/win

 

 

 

Git 최초 설정 - 사용자 정보 등록 (등록하려는 값에 공백이 있다면 더블쿼터(")를 사용한다.)

$ git config --global user.name "Sung Hun"
$ git config --global user.email special9486@naver.com

만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --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 <verb> --help
$ man git-<verb>

 

Git 저장소 만들기

$ git init

$ git init --bare          -- remote 저장소 만들기

 

Git 파일 추가하고 Commit

$ git add *.c
$ git add README
$ git commit -m 'initial project version'

 

기존 저장소를 Clone하기

$ git clone git://github.com/schacon/grit.git

$ git clone git://github.com/schacon/grit.git mygrit  - 특정 폴더로 Clone

 

파일의 상태 확인하기

$ git status

 

파일 무시하기

$ cat .gitignore
*.[oa]
*~

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