티스토리 뷰

IT 일반

깃(git) 시작하기

야라바 2015. 8. 14. 00:38
728x90

윈도우에서 깃(git) 설치하기을 통해서 윈도우에서도 깃(Git)을 사용할 준비를 했다면 우선 오픈 소스 프로젝트를 체크 아웃 받는 작업을 통해서 깃의 동작을 맛볼 필요가 있습니다. 많은 오픈 소스 프로젝트에 대해서 Git 호스팅 서비스를 제공하는 GitHub(github.com)에서 C# 기반의 실시간 게임 엔진으로 인기 있는 OpenRA를 체크아웃 받아 보겠습니다.


프로젝트의 일원이 아니더라도 소스 코드를 내려 받을 수 있도록 하고 있는데 위의 그림의 우측에서 보듯이 깃으로 접근하기 위한 주소를 제공하므로 아이콘을 클릭하여 깃 접속을 위한 주소를 복사합니다. 윈도우 탐색기에서 원격 프로젝트를 복제할 위치로 이동하여 마우스 우측 마우스로 팝업메뉴를 띄우고 "Git Gui"로 GUI 화면을 아래와 같이 실행시킵니다.


"Clone Existing Repository"를 선택하여 기존에 존재하는 원격 저장소(GitHub)를 복제합니다.


"Source Location"에는 GitHub 페이지에서 아이콘을 클릭하여 복사한 프로젝트의 깃 주소를 붙여넣기하고 "Target Directory"에는 복제한 프로젝트를 저장할 로컬 위치를 지정합니다. 주소를 모두 지정했으면 [Clone] 버튼을 누르면 복제를 시작합니다. 저장소에 따라 속도가 오래 걸릴 수 있으므로 아래와 같이 표시 될때까지 기다립니다.



깃의 주소 지정 방식은 위의 예제와 같이 http:// 또는 https://로 지정하는 웹 접근 방식이 있는데 이는 웹서버의 WebDAV 모듈을 통해서 서비스 됩니다. 익명 접근을 허용하는등 오픈 소스 프로젝트에서 많이 채용하고 있는 방식입니다. 간편하게 시스템을 구축할 수 있는 주소 지정 방식은 ssh:// 입니다. ssh://user-name@server-address/project.git 형식으로 지정할 수 있습니다. ssh 방식은 서버에 ssh 서비스만 가동될 수 있다면 간편하게 깃에도 적용할 수 있는 장점이 있지만 익명 접근을 허용하지 않는 단점이 있습니다. 익명 접근을 허용하지 않지만 간편하게 시스템을 구축할 수 있는 장점이 있으므로 사내 프로젝트나 일부 개발 그룹이 협업하기에는 적절한 방법입니다. 기타 다른 주소 지정 방식으로는 git:// 로 9418포트를 통해서 자체 서비스를 제공할 때 사용할 수 있는 주소 지정 방식과 file://로 자체 파일 시스템을 직접 지정할 때 사용하는 방식이 있습니다.


깃을 복제한 디렉토리는 아래의 그림과 같이 팝업 메뉴도 기존과는 다른 기능들이 추가됩니다.


복제한 폴더의 루트에는 아래의 그림과 같이 ".git"이라는 숨김 폴더가 생기고 이곳에 깃 관련 정보들이 담기게 됩니다.

서브버전(SVN)이나 CVS로 프로젝트를 체크아웃 받았다면 수정한 코드를 커밋할 수 없지만 분산 버전 관리 시스템인 깃의 경우에는 자체 저장소가 독립적으로 운영되는 것이기 때문에 동작 방식에 차이가 있습니다. 본격적인 사용에 앞서 사용자 이름과 이메일 주소를 등록합니다. 깃 명령으로 아래와 같이 설정할 수 있습니다.

$ git config --global user.name "user_name"

$ git config --global user.email your@address.com

그렇지만 아래의 그림과 같이 "Git Gui" 도구>Edit>Options 메뉴에서 전역 환경 및 복제한 프로젝트에 대한 설정을 간편하게 할 수 있습니다.


복제한 프로젝트에서 임의의 소스 코드를 수정해 봅니다.


위의 그림에서는 주석문을 복사해서 추가하여 실제 코드 진행에는 문제가 없도록 테스트 합니다. 코드를 수정한 다음에는 프로젝트 루트의 팝업 메뉴>Git Commit Tool을 아래의 그림과 같이 실행시킵니다.


커밋 도구가 열리면 프로젝트 중에서 변화가 있는 소스들이 "Unstaged Changes"에 리스팅되고 그중에서 수정한 것으로 올려 놓은것(Stage)들이 "Staged Changes"에 리스팅됩니다.  "Unstaged Changes"에서 수정했던 소스를 선택하고 [Stage Changed]버튼을 눌러 수정 목록에 올립니다.


수정 목록에 올려진 파일들이 서브버전과 같은 버전 관리 시스템과 같은 커밋의 대상이 됩니다. 커밋 메시지에 수정 내용을 입력하고 [Commit] 버튼을 누르면 저장소에 수정 내용을 반영합니다.


커밋으로 수정 내용을 저장소에 반영했으므로 커밋 이후에는 위의 그림과 같이 수정중인 파일도 수정 상태로 올려진 파일도 존재하지 않습니다.


위의 그림은 복제한 폴더의 루트 폴더에서 "Git History"를 선택하여 출력한 프로젝트의 변경 기록입니다.

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함