GIT가  SVN과 비슷하다 하드만... 도저히 감이 안잡힌다. 뭐 이런게 다 있나 싶을정도로....

몇일간의 웹서핑과, Local에서의 테스트로 얻은것들을 정리한다.
이제 초기 작업을 위한  내용파악이 된 상태지만, 머지 않아 내가 Local에서 마음대로 쓰기에 불편하지 않을 정도가 될 것같다. (@.@ 뭐시라???)

이 문서는 기존의 Repository에서 GIT로 다운받은 후 Local에서 버전관리 하기 위한 시작단계의 내용들이다.
Sample은 u-boot 코드를 이용하였다.
Test환경은 Cygwin 상에서 이루어 졌으며, Linux상에서도 아무 문제 없이 될 듯하다.
아직은 Linux보다는 윈도우에 설치된 Cygwin이 내 입맛에는 맞는 듯하다.

1. Repository에서 GIT로 다운 받기
>> mkdir git-repos 
>> cd repos
>> git clone git://git.denx.de/u-boot.git  
혹은
>> git clone http://git.denx.de/u-boot.git  

를 실행하여 u-boot를 다운받는다.
<결과>
/home/git-repos/u-boot
가 생성된다.
앞으로 local에서 사용할 GIT의 Repository이다.

/home/git-repos/u-boot 폴더에서 git log, git tag -l, git branch 등을 이용하여 GIT의 정보를 마음껏 확인할 수있다.

2. Work Project를 생성하자.
/home/git-repos 폴더에서
>> git clone u-boot /home/work/u-boot
를 실행하여 work project를 만든다.

이제 작업할 Base 버전을 선택하고 Branch를 만들자.
물론 Main에 저장해도 상관은 없겠지만, Original Source가 내가 만든 것이 아니므로....

Tag 와  Branch를 확인해보자.
>> git tag -l

...
v1.3.4
v1.3.4-rc1
v1.3.4-rc2
v2008.10
v2008.10-rc1
v2008.10-rc2
v2008.10-rc3
...

>> git branch
>> * master
현재 등록되어서 사용되는 Branch를 볼수 있다. 
다운받은 u-boot코드는 master가 하나 딸랑 보이고 앞에 '*'가 붙어 있다. 이놈이 SVN의 trunk에 해당하는 듯 하다.
'*' 는 현재 사용되는 branch를 가르킨다.

이제, 내가 원하는 TAG의 코드로 나만의 branch를 생성시켜보자.
생성 명령은 checkout 이고, Branch 생성은 -b new 이다.

>> git checkout -b mybranch U-Boot-1_1_6
를 실행하면 U-Boot-1_1_6 의 TAG코드로 변경되고, mybranch가 생성되어 현재 사용되는 branch로 등록된다.

다시한번
>> git branch
를 실행하면 아래와 같은 화면이 보인다. 이번에는 메인 branch가 mybranch로 변경되었다.
>>   master
>> * mybranch

branch를 생성하긴 했는데, 코드를 다른 놈을 Base로 쓰고 싶단다. 그럼 어떻게 하나????
>> git reset --hard TAG
멋지다. 요렇게 하면 마음대로  Base코드도 바꿀 수 있다.

근데... 요렇게 작업하다가 master로 돌아가고 싶으면???? 
음... 요기까지는 아직 검토안해봤다. Branch의 이동명령...  왠지 그런 것도 될 것만 같은...

쩝... 암튼.. 겁나 편한 거 같기는 한데 아직은 잘 모르겠다.

Commit이랑 History관리 등등은... 기약없이 다음으로 .....

더 자세한 사항은 http://git-scm.com/ 의 Document를...



cf) 마음껏 퍼가셔도 됩니다.
출처 및 댓글 남겨주시면 감사하고, 것도 여의치 않으면...
그동안, 그리고 앞으로 내가 저지를 행동들이 있기에  ^____________^
Posted by 알 수 없는 사용자