세입자의 설움으로 전셋집 옮기고 체력고갈,
더불어 진급자 회식 및 결혼 예비 후배들과의 회식들로 인한 추가 체력고갈...
그리고 마지막으로 안또라이들 학습.... 그리고 결정적인 귀차니즘으로 또 다시 오랜만에 찾아온 Git... ^^
조금 더 공부하고 조금 더 분석해야하는데, 그게 말처럼 쉽지가 않다.... 월급쟁이의 비애라고하면 변명이겠지!? ^^
오늘은 remote repository에 대해서 조금 더 알아보고자 한다.
$ git clone /srv/repository/BareRepo.git $ cd ./BareRepo $ git remote $ git remote -v |
[ git remote ]라는 명령어는 어떨 때 사용하는걸까!?
어떤 repository의 어떤 branch를 사용하고 있는지 알기 위해서 또는 관리를 위해서 사용하는 명령어이다.
만약 여러 repository를 사용할 경우 그 리스트도 주르륵 보여준다.
여기에서 당연히 의문을 가져야 한다!!!
"여러 repository를 사용"한다고?!
$ git remote add other /srv/repository/otherRepo.git $ git remote $ git remote -v |
이미 "BareRepo.git"을 가져온 상태에서, 그 안에서 [ git remote add ]를 통해서 다른 repository를 가져온 것이다.
'other'라는 것은 임의로 해당 repository를 지칭하는 별명을 지어준 것이다.
본래 있던 것은 'original'이라는 이름이고, 새로 추가한 것은 'other'라는 이름이다.
그러면, 여기에서 또 하나의 의문이 생겨야 한다.
하나의 공간에 2가지의 것이 같이 있으면, 지금 작업하고 있는 것이 어떤 것에 속하는지 어떻게 알려줄까?
$ git fetch other |
아직 branch에 대해서 알아보지 않았으므로 이에 대한 설명은 뒤로 넘기겠다.
여하튼, [ git fetch ]라는 명령어를 이용하여 두 가지를 오락가락 할 수 있다!
그런데, 지금 "otherRepo.git"이라는 repository를 넣었다고 했는데 그 파일들은 어디에 있을까?!
지금 사용하고 있는 "otherRepo.git" repository에 들어있는 파일은 "readme.txt"이다.
그런데, "BareRepo.git" repository에도 같은 이름의 파일이 있다.
"혹시 그래서 뭔가 충돌이 난 것은 아닐까?!"라는 생각이 들었다.
그래서, 응급으로 "otherRepo.git"에 "other.txt" 파일을 push해 넣었다.
그런 후 다시 fetch를 해보았다.
다시 fetch를 했음에도 파일 내용은 바뀐 것이 없다.
이 즈음해서 아! 내가 변경 사항을 받아오는 것에 대해서 살펴보지 않았구나~!!!라는 생각이 번뜩!
그래서 바로 직전 글 [ git pull ]에 대해서 블로깅을 했다!!!!
$ git pull $ git pull other master |
그냥 [ git pull ]을 하게 되면 뭔가 받아오는데, 우리가 새로 추가한 repository, otherRepo의 자료는 보이질 않는다.
그러면 어떻게 해야 otherRepo의 내용을 받아올 수 있을까?!
[ git pull other master ]라고 하면 된다.
그런데, 위의 스크린샷을 보면 알겠지만 'CONFLICT'가 발생을 했다.
앞에서도 말했지만, 두 개의 repository에 'readme.txt' 파일이 똑같은 이름으로 존재하고있다.
그래서 충돌이 난 것이다.
보통은 git이 똑똑하게 자동으로 merge를 해주기도 하는데, 위의 경우엔 그것도 실패한 경우이다.
이번 블로그에서는 뭘 배우는 것이 아니라,
앞으로 무엇을 봐야할 지에 대해서 확인하고자 하는 블로깅이다.
[ git pull other master ]라는 명령어에서 'master'라는 것이 무엇인고 하니, 바로 branch 이름이다.
앞으로 branch에 대해서 살펴보도록 하겠다.
그 다음엔 위의 경우처럼 merge를 하는 경우에 대한 것이다.
repository를 여러개를 사용할 경우도 있지만, 주로 서로 다른 branch에서 하나로 merge하는 경우가 더 많을 것이다.
앞으로 하나씩 더 알아가 보도록 하자.
반응형
'SCM > Git-GitHub' 카테고리의 다른 글
Git Branch (브랜치) - Local Ⅰ (branch 생성, HEAD) (0) | 2012.04.12 |
---|---|
Pro Git 번역본 (0) | 2012.03.22 |
업데이트 - git pull, 중간 정리 (0) | 2012.03.17 |
Remote Repository - git push (2) | 2012.03.04 |
Git Server - push + 한글 (1) | 2012.02.26 |