GIT 간단 사용기 1  에 이어 계속 진행하자.

사용기 1에서 웹으로 부터 clone한 폴더를 로컬 서버로 다시 clone한 다음 부터 진행하도록 한다.

2. Work Project를 생성하자.
/home/git-repos
폴더에서
>> git clone u-boot /home/work/u-boot

1. 사용자 등록
우선, 사용자 등록을 하도록 하자. name 과 email을 이용하여 git에게 사용자를 알려주게 된다.

>> git config --global user.name myname
>> git config --global user.email mymail@email.addr
>> git config -l

...
user.name=myname
user.email=mymail@email.addr
...


2. Branch 가지고 놀기
  어쨌든 다운 받은 코드에서 Branch를 이용해보자. 생성 삭제 등등이 너무나 자유로워서 내마음대로 가지고 놀아도 괜찮을 듯하다.
1) Branch 생성

>> git branch mybranch

or

>> git checkout -b mybranch [TAG]

이처럼 두가지 방법으로 Branch 생성이 가능하다.
 첫번째는 mybranch라는 이름의 branch를 생성하기만 한다. 즉, 현재 branch는 mybranch를 생성하기전의 branch가 되는 것이다. 지금은 master이다.
 두번째는 간단 사용기 1에서도 사용했던 것 처럼 mybranch를 생성과 동시에 현재 branch를 mybranch로 변경하는 것이다. [TAG]를 사용할 경우 해당 TAG를 default code로 사용하게 되며, [TAG]를 입력하지 않을 경우 mybranch를 생성하기 직전의 코드를 default로 사용하게 될 것이다.

2) Branch 변경 및 삭제

>> git checkout mybranch
>> git branch -d mybranch

checkout 은 현재 소속을 변경하는 역할을 한다. 명령을 이용하여 해당 branch로 변경할 수있다. 또한 생성된 branch를 삭제하고 싶으면 branch의 -d 옵션을 사용하면 된다.
등록되어 있는 모든 branch를 확인하고 싶으면 그냥  git branch를 입력하면 된다.


3) branch에서 작업한 내용을 병합하기 (Merge)
- mybranch에서 작업을 한 이후 commit를 이용하여 변경사항을 적용한다. 추가된 사항이 있다면 add 명령을 이용하여 추가해야 할 것이다.

>> git commit -a

- 변경사항이 저장되었으면, 머지될 branch로 돌아가자. 우선은 master에 머지하는 것으로 하겠다.
행여나 master 가 변경되어야 할 사항이 있다면 commit부터 하도록하자.

>> git checkout master
>> git commit -a
>> git merge mybranch

만약 충돌 사항이 없다면 제대로 된 것이다. 충돌이 있을 경우 diff명령을 이용하여 충돌을 확인 후 수정 및 commit를 하면 된다.
diff 명령은 새롭게 추가된 파일중 add가 수행되지 않은 파일도 보여준다. 충돌 사항을 확인 하기에는 번거로운 경우이다. 이를 피하기 위해 --cached 옵션을 사용하자. 서버에 등록된 코드의 변경사항만 보여준다.

>> git diff
>> git diff --cached
>> git status

status 명령은 작업 프로젝트의 간단한 변경사항들을 알려준다.

4) 작업완료된 분기 삭제하기
- 변경 사항이 모두 적용되었고 더이상 branch가 사용되지 않는 다면 위의 삭제 명령을 이용하여 과감히 버리자.


더 자세한 사항은 http://www.kernel.org/pub/software/scm/git/docs/user-manual.html 의 GIT user manual이나 http://git-scm.com/ 의 Document를...



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

Posted by 알 수 없는 사용자