이것저것 다 개발

[Git] 버전관리 Git! 본문

Git

[Git] 버전관리 Git!

용용개발 2018. 2. 7. 18:28


Git은 SVN, CVS 처럼 버전을 관리하는 툴 입니다.

저는 다른 버전관리 툴을 써보지를 않아서 각각의 장단점을 잘 모르지만

Git의 편리성과 사용법에 대해 글을 써보려 합니다.


Git은 하나의 Repository를 여러명의 개발자들이 복제해서 사용합니다.

소스를 관리하기 쉽고 여러명에서 같이 작업하는데 편리합니다.

commit과 push 두가지 명령어를 많이쓰게 되는데

commit은 로컬에 저장 push는 repository에 저장한다고 보면 됩니다.


Git은 master 브랜치를 중심으로 새로운 기능을 추가해야 할 때 여러 브랜치를 만들어서 사용합니다.





저는 GUI 툴을 쓰지않고 커맨드라인에서 깃을 사용합니다..source 트리나 gitg을 써봤지만

커맨드라인에서 사용하는게 속도면에서도 그렇고 손에 익어서 너무 편하더라구요.


1. 설치

Debian/Ubuntu
# apt-get install git
Fedora 
# yum install git

끝입니다. 설치는 정말 간단합니다.


2. 사용법

# git init

git init은 git 프로젝트로 만드는 명령어입니다.

.git 파일이 생성되며 삭제시 git 프로젝트에서 취소됩니다?내릴수있습니다??

아무튼..git 명령어를 사용할 수 없는 평범한 프로젝트가 됩니다.

# git clone [repository]@[ip]:[file] [path]

git clone은 git 프로젝트를 복제하는 명령어입니다.

# git status

git status는 git project의 상태를 보는 명령어입니다.

현재 브랜치의 이름과 staged for commit, untracked 파일들을 볼 수있습니다.

먼저 untracked 파일은 git 프로젝트에 추가되지 않은 파일들입니다.

staged for commit은 git add [file] 명령어로 커밋이 필요한 파일 목록입니다.


# git add [file]

git add a.txt로 staged 상태로 만들어 준 후

# git commit -m '[message]'

위와 같은 형식으로 commit을 해줍니다.

# git push origin master

다음으로 push 를 하게되면 master 브랜치에 푸시가 됩니다.

# git merge origin master

하지만 프로젝트를 여러명에서 작업중이라면 충돌이 나게되는데

merge 명령어로 소스를 합쳐줍니다. 그다음 push를 해주면 됩니다.

# git checkout [da905fd]

이전에 commit한 소스로 돌아가려면 checkout 명령어로 돌아갈 수 있고

checkout 명령어는 브랜치를 이동하는데도 쓰입니다.

# git diff

diff 명령어는 소스의 다른 곳을 보여주는 명령어입니다.


자주쓰는 명령어들로만 쓰다보니 빠뜨린것도 많고 많이 부족하네요..

'Git' 카테고리의 다른 글

[Git] Git Branch 사용하기  (0) 2018.05.15
Comments