CrazySoftware2011. 9. 18. 17:07
######글 쓰고 30분만에 업데이트 합니다. #####################################################

http://git.or.cz/course/svn.html#know

위의 웹페이지 들어가보시면  git과 svn을 비교해 놓은 것을 보실 수 있습니다.

####################################################################################

 개인적으로 진행 하던 프로젝트가 바쁘고, 회사에서 하는 프로젝트 때문에 여기 까지 신경쓰지 못했어요. 아무래도 한번에 한가지만 생각 할 수 있는 비운의 공대생이라서요 :(

 이 포스팅에서는 저번 시간에 계정을 만든 곳에서 부터 시작해서, 실제 프로젝트를 만들고 커밋 까지 해볼 예정입니다. 갈길이 먼 관계로 빨리 시작하도록 하죠.

    자, 먼저 로그인하면  아래와 같이 친숙한 화면을 볼 수 있습니다.
계정이 만들어졌고, 도메인은 opensourcedev라고 만들었군요. 




 먼저 프로젝트를 만들도록 하겠습니다. 왼쪽 맨 위의  개구리 마크 바로 아래에 있는 메뉴중에 [Project]를 선택합니다. 아래의 화면을 만나셨나요?

 
화면 우측의  New 버튼을 클릭 해서 프로젝트를 생성 합니다. 먼저, 이름을 입력하고 프로젝트 타입에서는 CVS, Subversion, Git 중에 선택 할 수 있는데 우리는 Git을 선택 합니다. 그리고 맨 아래로 스크롤한 후에 [OK]를 눌러 프로젝트를 생성 합니다.
( 아래의 이미지를 참고 하세요)


 완료하셨다면 아래의 화면이 나타날 텐데요. 맞는지 확인해 보세요.


 자!  이제 test_dev라는 프로젝트가 생성 되었습니다. [codesion]에서는 프로젝트를 직접 관리 할 수 있도록 서비스 하고 있기 때문에, 접속 했을때 DashBoard에서 진행중인 프로젝트를 확인 할 수 있습니다.

 위의 화면에서는 저장소의 주소를 기억해두어야 합니다. 위 화면에서 ::Project Quickview 의 Getting started를 선택하시면 아래와 같은 화면이 나타나는데 빨간 박스를 둘러 놓은 곳이 [repository]의 경로 입니다. 곧 사용 하니까 따로 기억해 두세요.


 다음으로는 실제로 프로젝트를 [clone]하고 [commit], [push]하는 방법을 살펴보겠습니다.
 아래 1번 부터 읽어 오신 분이라면 아실테지만, git은 사실 check out의 개념이 없습니다. 굳이 붙이자면 clone이 checkout이라고 할 수 있겠습니다. 
 [clone]은 특정 서버 혹은 디렉토리에 존재하는 [repository]를 복제 하는 명령어 입니다. git은 분산 저장소 방식이기 때문에 [clone]을 이용해서 복제 한 모든 디렉토리들이 [subversion]에서의 [server]처럼 동작 합니다. 아래의 예제를 보면서 천천히 이해 하도록 하겠습니다.

 먼저, 해당 git에 있는 [repository]를 [local disk]로 [clone]합니다.

$git clone https://opensourcedev.git.codesion.com/test_dev.git을 입력해서 [repository]를 [clone] 했습니다. [https://opensourcedev.git.codesion.com/test_dev.git]은 위에서 알아 두시라고 했던, [repository]의 경로 입니다. 개인적으로 만드신 경로를 적어주세요. 이때 나타나는 경고문구는 현재 HEAD Revision에 아무 파일도 없기 때문입니다. [clone]한 이후에 $ls 를 사용해서, [test_dev]를 [clone]한 것을 확인 할 수 있습니다.

다음은 더미 파일을 [repository]에 생성해 보도록 하겠습니다.  
$touch firstfile
-firstfile이라는 더미를 생성 합니다.
$git add .
- 현재 디렉토리에 있는 모든 파일을 git의 관리 대상으로 추가 합니다.
$git status
- 마지막 [revision]과 비교하여 [commit]할 변경 사항을 확인 합니다.
$git commit -m "first test commit"
- -m 옵션으로 메세지를 기록하여, 현재 [repository]에 [commit] 합니다.

 여기 까지해서 [repository]내에 파일을 생성해서 관리대상으로 추가하고 [commit]까지 완료 했습니다. 다시 한번 말하지만 아까 [clone] 했던, 현재 작업중인 디렉토리 자체가 [repository]이므로, 서버로 변경 사항을 전송하려면 한 단계를 더 거쳐야합니다. 

 
 이제  최초에 [clone]을 해서 더미 파일을 추가하는 작업을 한 내용을  [server]로 전송 해보도록 하겠습니다.  우리는 유저가 [clone] 해서 작업하는 [repository]를 origin, 최초로 [clone]해온 [repository]를 master라고 합니다.

$ git push origin master 
- origin의 변경 내용을 master로 전송 합니다. 여기서 사용 하지는 않지만, [pull]을 이용해서 master의 변경 사항을 받아 올 수 있습니다.

 

 
 길고 길었던 여정이 끝났습니다 :)
git계정을 만들고, 프로젝트를 만들고, 파일을 생성해서 커밋하는 부분까지 해보았습니다. 마지막으로  제대로 커밋이 되었는지 확인해 보도록 합니다.
 아래와 같이 프로젝트의 DashBoard 화면에서 [Browse with GitWeb]을 선택합니다.


 아래와 같은 화면이 보이면 성공적으로 [commit]이 완료 된 것입니다.
[shortlog]에서는 프로젝트의 [commit] 했던 기록을 보여주고, 최신 [revision]을 보여 줍니다. 여러가지 메뉴가 있으니 눌러 보시면 도움이 될 겁니다.

 
 여태 까지 3번의 간단한(?) 내용을 가지고 git의 사용법을 설명 했습니다. 최근에 프로젝트 관리 툴을 제작하면서 git이 정말 좋다는 것을 여러번 느낍니다. 제가 느낀바에 대해서는 수시로 포스팅 할 예정입니다.

 git으로 프로젝트 관리하시고 칼퇴 하세요~ :) 
Posted by Arnold Arnny

댓글을 달아 주세요