-
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