본문 바로가기

app/git

1. git 시작 (로컬에서 작업하기)

실습 os 버전 : windows (os 마다 다릅니다.)


git설명 : 기트(Git /ɡɪt/[1])는 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 빠른 수행 속도에 중점을 두고 있는 것이 특징이다. 최초에는 리누스 토르발스가 리눅스 커널 개발에 이용하려고 개발하였으나, 현재는 널리 사용되고 있다.

Git의 작업 폴더는 모두, 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하고 있으며, 완전한 형태의 저장소이다. 네트워크에 접근하거나 중앙 서버에 의존하지 않는다.


사실 다른 부분에 대해서는 기존의 버전 관리 프로그램(cvs, svn 이 대표적이죠.) 과 기능은 비슷하나 "네트워크에 접근하거나 중앙서버에 의존하지 않는다. " 부분이 중요합니다. 개인이 손쉽게 사용할수 있고(로컬에서 자유롭게) 특정 서버를 운영하지 않아도 된다는 장점이 생깁니다. 


msysgit 설명 : git 자체가 리눅스용으로 개발이 되었습니다. 이것을 윈도우 환경에서 실행하기 위해서 설치되는 프로그램입니다.(윈도우에서 리눅스프로그램을 돌리는것이지요.)


1. 먼저 msysgit 설치. 아래의 주소에서 다운받으실수 있습니다.

window url : http://code.google.com/p/msysgit/downloads/list?can=3

저는 풀버전으로 설치하였습니다.



2. 설치된 git bash를 실행해보면 위와 같은 초기 화면이 나옵니다.



3. 먼저 업로드할 test 폴더를 만들었습니다. 폴더 이름은 git_test

$ mkdir git_test

$ cd git_test





4. 해당폴더 git_test 로 이동후 explorer . 명령어를 내리면 해당 위치에서 탐색기가 열립니다. 





5. 탐색기에서 txt 파일을 하나 만들어봤습니다. 파일명은 test.txt



6. 다시 콘솔로 돌아와서 git status 명령어를 내립니다. 그러면 해당 폴더에서 어떤 파일이 변경되어 있는지 알려줍니다. (잘 않보이시겠지만 빨간 글시로 test.txt 라고 씌여져 있습니다.)

친절하게도 커밋을 할려면 git add <file> 이라고 씌여져 있다.

$ git status


7. git add test.txt 를 하고 다시 git status 를 합니다. commit 이 준비 되었다고 나오는군요.

$ git add test.txt

$ git status


- 추가할 파일이 여러개 일때는 git add -A 혹은 git add --all 해주시면 변경할 모든 파일을 커밋하게 됩니다.




8. commit 를 위해서는 올리는 사람의 email과 name를 적어주어야 합니다. 그렇지 않으면 누가 올린지 모르게 되겠죠?(git의 목적은 소스관리인데 누가 어떤 소스를 언제 올렸는지 모르게 된다면 않되겠죠.)

$ git config --global user.email "사용하는 e메일"

$ git config --global user.name "사용하는 이름"



9. commit를 하면서 넣을 코멘트를 지정합니다. 

$ git commit -m "first commit."



10. 지정한 코멘트를 볼수 있습니다.

$ git log




이제 로컬에서의 기본적인 작업은 여기 까지 입니다. 

요약하자면 

1. 사용할 프로젝트의 디렉토리를 만들고(mkdir)

2. 사용자를 등록해주고

    ( $ git commit --global user.email "사용하는 e메일" , $ git commit --global user.name "사용하는 이름")

3. 파일을 이리저리 수정,생성한다음

4. 파일을 더해주고($ git add --all)

5. 등록해줍니다.(git commit -m "커밋내용")



프로젝트를 진행하면서 여러 버전으로 나뉠경우(버전별로 관리할경우)를 git에서는 branch(나뭇가지) 로 구분합니다. 다음에는 이 branch에 대해서 포스팅하겠습니다.



참조 : http://rogerdudler.github.com/git-guide/index.ko.html