'Work Flow'에 대해서 살펴보기 전에,
'Remote Repository'에 존재하는 'branch'와 'Local Repository'에 존재하는 'branch'의 관계에 대해서 알아보겠다.
조금 다른 일반적인(?) 용어로 이야기를 하자면,
서버에서 소스를 가져와서 작업을 하고 있던 중 서버의 내용이 변경이 되어,
이것을 내가 작업하고 있는 곳에 반영을 하고 싶은 경우에 어떻게 할 것인가? 에 대한 설명을 해보고자 한다.
1. branch -a
- 현재 작업 공간을 한 번 점검해보도록 하겠다.
- 오늘 진행할 내용을 위해서 잡다한 것 모두 지우고, 정리하고, push하고 해 놓았다.
- 여기서 확인하고 싶은 것은 기본적인 branch의 내역이다. "origin/master"의 존재 !!
2. commit in master branch
- local에서 즉, master에서 commit을 하나 해보자.
$ git commit -a -m "modify readme.txt in master br"
$ git status
- 여기에서 잘 살펴볼 부분은 [ git status ]를 했을 때 나오는 메시지이다.
- "Your branch is ahead of 'origin/master' by 1 commit."
- 최근의 git은 정말 안내 메시지가 너무 잘 되어 있다~!!! 짱~!!!
3. commit in origin/master
- remote repository에 commit을 하나 추가된 상황을 만들고자 한다.
$ cd /srv/workspace/2nd
$ git clone {계정}@localhost:/srv/repository/bare1repo
$ cd ./bare1repo
- 별도의 commit을 만들어 remote에 넣기 위해서 다른 곳에 별도의 local repository를 clone 하자
$ git commit -a -m "modify readme1.txt in master br, but other master"
$ git push
- 파일 하나를 수정하고 commit 한 다음에, remote repository로 밀어넣자(push).
4. fetch & merge
- remote repository의 변경된 내역을 local로 받아오기 위한 작업을 해보자.
$ git status
- remote repository의 정보를 얻어오기 위한 명령어는 [ git fetch ]이다.
- [ git status ]를 해보면 이전과는 또 다른 메시지가 보일 것이다.
- " Your branch and 'origin/master' have diverged,
and have 1 and 1 different commit each, respectively. "
- " diverge " 뜻을 모르는 저같은 분들을 위한 단어의 의미 :
- [ git log ]를 보면, 위의 그림대로 구성되어진 것을 확인할 수 있을 것이다.
별 것 아닌 것으로 보일 수도 있는데,
git을 혼자서가 아니라 팀으로 작업하는 경우라면 의외로 자주 발생하는 상황일 것이다.
Git에서 보여주는 메시지들을 다시 한 번 잘 살펴보고, 흐름을 잘 느끼고 생각하면 많은 것을 배울 수 있을 것이다.
이런 에잇~ 또 12시를 넘겨버렸네.... ㅠㅠ
오늘 자전거 타이어 바꾸려고 편도 15km가 넘는 거리를 달려갔지만 결국 허탕치고 오늘 자전거만 30km가 넘게 타서...
지금 허리아프고 손목아프고, 목 아프고..... 이런 상황에서 12시를 넘겨버리다니... ㅠㅠ
내일 출근해야하는데.... 흑흑.... 어여 잠자야겠다.
'SCM > Git-GitHub' 카테고리의 다른 글
Git Branch (브랜치) - Remote Ⅲ (생성, track) (0) | 2012.05.01 |
---|---|
Git Branch (브랜치) - Remote Ⅱ (Pull) (0) | 2012.04.30 |
Git Branch (브랜치) - Local Ⅴ (ETC) (0) | 2012.04.24 |
Git Branch (브랜치) - Local Ⅳ (Conflict) (0) | 2012.04.24 |
Git Branch (브랜치) - Local Ⅲ (Merge Log) (0) | 2012.04.23 |