ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 브랜치(Branch) 관리하기 (★)
    깃허브 2019. 12. 17. 21:18

    전 게시글에서는 기초적인 내용을 다루었다.

    이번 게시글에서는 Git 의 핵심이라고 할 수 있는 Branch 를 설명한다.

     

    먼저 브랜치(Branch)란..

    전 게시글에 저장소라고 기억하자고 말했는데,

    우리가 지금까지 commit 한 저장소는,

    master 이라는 이름의 기본 저장소인데

    Git 에서는 master 저장소 말고도 추가로 저장소 이름을 지정하여

    사용자가 추가해 줄 수 있다.

     

    만약 사용자가 혼자 프로젝트를 할때 , 한번에 깔끔하게 만드는 경우도 있겠지만

    아닌 경우가 대다수 일 것 이다.

    그러다보면 무수히 많은 commit 을 하게 될 것이고,

    master 브랜치의 log 가 지저분해지게 된다.

    이럴 경우에 임의의 저장소 , 즉 브랜치를 추가로 생성해준다.

     

    협업을 할 때에도 마찬가지이다.

    Github에 코드를 올리고 각자 다운받아 코딩을 하고 있다고 가정하자.

    두 명이 각자 다른 파일을 작업하면 문제가 없다.

    그런데 동시에 똑같은 파일을 작업하고 있다면..

    그리고 여러명이 commit 을 하고 동시에 Github 에 push 를 하게되면

    충돌이 발생하게 된다. 왜냐하면 서로 각각 한 commit 은 서로에게 없기 때문에

    Github 서버는 어떤 것이 올바른 commit 알 방법이 없기 때문이다.

    이럴 경우에도 브랜치를 추가로 생성한다.

     

    본론이 길었는데 브랜치를 생성해보자.

     

     

    새로운 Branch 생성 번째,

     

    명령어 : git branch [브랜치명]

    브랜치가 잘 생성되었나 확인하려면

    git branch 명령어를 실행해서 확인해보자.

    화면에 위의 명령어로 생성한 브랜치명이 master 브랜치 위에 생성된 것을 알 수 있다.

     

     

    방금 만든 브랜치로 옮겨보자 번째,

     

    우리는 방금 새로 만든 브랜치에서 작업을 하고싶다.

    여기서 뇌를 옮겨주는 과정이 필요하다.

    HEAD 를 옮겨야 하는데 , 아래의 명령어와 같다.

    명령어 : git checkout [브랜치명]

    어디서 본 명령어 같다.

    전 게시글에서는 add 하기 전 modified 된 파일을 

    Unmodified 상태로 전환해주는 명령어였다.

    여기서도 동일하다. checkout 명령어는 전환을 나타낸다.

    명령어를 실행하고 git branch 명령어로 뇌가 잘 옮겨졌는지 확인하자.

    뇌는 *표시로 확인되는데 방금 명령어로 우리가 생성한 브랜치 앞에 *표시가 찍힌것을 확인할 수 있다.

     

     

    뇌까지 갖고있는 브랜치에서 작업해보자 번째,

     

    먼저 작업하고 있던 파일을 적당히 수정하고,

    적당한 메세지로 commit 해주자.

    만약 이전 게시글에서 부터 똑같이 따라했다면

    구조는 revert 한 commit 까지는 master 와 우리가 만든 브랜치가

    서로 공유하며 , 그 다음부터는 별개의 프로젝트이다.

     

     

    브랜치를 하나로 합쳐보자 번째,

     

    각자 작업을 마쳤다면 , 최종적으로 하나로 합치는 과정이 필요할 것이다.

    이제 master 브랜치에서 하나로 모아주자.

    위에서 설명한 checkout 명령어로 다시 master 브랜치로 전환한다.

    이후 내용은 다음 게시글에서 설명한다.

    다음 게시글에서는 두 개의 브랜치를 합치는 두 가지 방법에 대해 설명한다.

     

    '깃허브' 카테고리의 다른 글

    Git Branch 합치기 (Merge , Rebase) (★)  (0) 2019.12.17
    Git commit 수정하기  (0) 2019.12.17
    Github 이용하기  (0) 2019.12.15
    Git 시작하기.  (1) 2019.12.14

    댓글

Designed by Tistory.