본문 바로가기

유용한 정보들

Git 사용법

728x90

git 은 버전 관리 시스템 중의 하나로서 오픈소스로 관리되고 있다. 공식 홈페이지는 git-scm.com 이며, 해당 페이지에서 최신의 버전을 다운로드할 수 있다.

git 초기화

git의 저장소를 초기화 한다.

$ git init

git ignore 추가

git 의 버전 관리 대상에서 제외할 내용을 작성해두면, git 클라이언트에서 알아서 변경점 추적에서 제외한다. 다른 파일 작성에 앞서 가장 먼저 작성하고 commit 을 해두어야, 불필요한 디렉터리 및 파일 공유를 제외할 수 있다.

$ vi .gitignore
test.txt

git 브랜치 확인 및 메인 브랜치 변경

$ git branch
$ git branch -M release

git 상태 확인

git 에 의해 관리되는 변경점을 추적한다. 해당 변경점을 보고 추가할 내용을 선택하여 commit을 할 수 있다.

$ git status

git 추가

git 에 관리될 파일을 추가한다. 추가되지 않은 파일은 변경점을 추적할 수 없다. git 에 추가하는 방법은 여러가지가 있으나 여기에서는 세가지 방법을 소개한다.

단일 파일만 추가하는 방법

지정된 파일 이름만 버전 관리에 포함한다.

$ git add file_name

전체 파일을 추가하는 방법

현재 디렉터리에서 버전 관리에 포함되지 않은 모든 항목을 버전 관리에 포함한다. 다만 이 경우 불필요한 캐시 또는 백업 파일등이 포함될 수 있으므로 가급적 사용하지 않는 것이 좋다.

$ git add .
$ git add -a

변경된 내역을 확인하며 추가하는 방법

hunk 라 불리우는 변경점을 확인하며 버전 관리에 포함한다. 이 명령어는 git add 를 통해 이미 관리되고 있는 파일일 경우에만 적용이 가능한 명령어 이다.

$ git add -p

git 커밋

변경된 내용을 로컬에 스테이징 상태로 변환한다. 메시지 없이 커밋이 가능하지만 추후에 추적을 위해 메시지는 추가하는 것이 좋다.

$ git commit -m "초기화"

git 원격 저장소 추가

다른 사용자와 소스와 변경점을 공유하기 위해서는 원격 저장소가 필요하다. 자신의 git server 가 설치된 주소 또는 push 권한이 있는 git 저장소, github 등을 사용하여 원격 저장소를 추가한다.

$ git remote add origin release <https://svn.blabla.com/a.git>

git 푸시하지 않은 커밋 리스트 확인

스테이징 상태에 있는 내역을 조회한다. 아직 원격지에는 적용이 되지 않은 상태이다.

$ git log --branches --not --remotes

git 푸시

스테이징 상태의 변경점을 완벽하게 브랜치에 병합한다. 이를 통해 같은 저장소를 공유하는 사용자도 변경점을 공유할 수 있다.

$ git push --set-upstream origin release

$ git push

git cache 삭제

만약 변경점을 추적중인 파일을 더이상 추적하지 않고자할 경우에는 단순히 .gitignore 파일에만 추가하는 것으로 끝나지 않는다. 캐시를 삭제하지 않을 경우 계속 변경점을 추적하기 대문에 캐시를 삭제한 후 커밋을 해야한다.

$ git rm -r --cache filename
$ git add .
$ git commit -m 'commit message'
$ git push
반응형