git에 대한 위키피디아 문서
http://en.wikipedia.org/wiki/Git_(software)
git 사용자 설명서: 잘 정리된 메뉴얼
http://namhyung.springnote.com/pages/3132772
git 튜토리얼 메뉴얼 페이지
http://www.funit.net/git
github에 대한 글: Github, 코드 개발 기반 소셜 네트웍
http://channy.creation.net/blog/626
git는 분산 버전 관리 시스템이며 리눅스 커널 개발에 사용하기 위해 리누스 토발츠가 처음 디자인과 개발을 하기 시작했다.
가장 큰 장점인 수정 내용을 매번 마스터 저장소에 커밋해서 올리는 대신에 저장소 전체의 로컬 복사본을 사용한다는 것이다. git을 사용하면 각 개발자가 작업을 진행할 수 있는 자신만의 샌드박스를 가지고 있으며, 작업을 마친후에 변경내역을 마스터 저장소에 push 할 수 있다.
아래 그림을 보면 각 명령어와 동작 flow가 쉽게 이해가 됨…![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile25.uf.1567ED434F1E7FAC0FAD75.png)
아래 위키피디아의 그림은 보다 간단히 이해를 도울 수 있다.
![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile9.uf.1449483F4F1E802F143807.png)
윈도우용 git 설치:
http://code.google.com/p/msysgit/downloads/list 여기서 다운로드를 받아서 인스톨한다.
인스톨 과정중 모든 옵션은 그냥 디폴트옵션을 사용한다.
인스톨이 끝나면 Git GUI와 Git Bash가 설치되며, 탐색기에서 오른쪽 버튼을 누르면 다음과 같이 git 메뉴가 생긴다.
![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile10.uf.116441454F1EC27C306AF9.png)
일단 프로젝트를 관리할 폴더에서 Git Init Here를 선택을 하고, Git Gui를 선택을 하면 다음과 같이 Unstaged Changes항목에 파일들이 들어 있는게 보인다.
![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile6.uf.1812F5454F1EC35B07B61D.png)
커밋할 파일을 선택하고 Commit>Stage to commit을 선택을 하면 파일들이 아래도 내려오며, 오른쪽 하단에 메세지를 입력하는 창에 메세지를 입력을 하고 Commit을 하면 커밋이 된다.
커밋이 잘 됐는지 여부는 Repository > Visulize mater’s History 명령으로 확인이 가능하다.
이제 github에서 repository를 생성한다. Project name만 적으면 되고 나머지는 option이다.
SSH설정은 http://help.github.com/win-set-up-git/ 의 “Set Up SSH Keys” 부분을 참고한다.
이렇게 해서 생성된 키는 Win7의 경우 C:\Users\사용자\.ssh 아래에 저장이 되며, Git GUI에서 Help > Show SSH Key 를 통해서도 SSH키 값을 볼 수 있다.
만약 프로젝트 이름을 my_test로 할 경우 Git GUI에서 설정은 다음과 같다.
Name은 Github 계정이름이고, my_test는 git@github.com:jbkim/my_test.git 위치에 놓이게 된다.
![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile25.uf.116382454F1EC5C23852EB.png)
다음엔 push를 하면 되는데, Remote > Push 를 하면된다.
![](http://openmicrolab.com/wp/wp-content/uploads/1/cfile25.uf.171CFF454F1EC7680A93BC.png)
이때 SSH키를 만들때 passphrase를 물어보면 입력하면 된다.