티스토리 뷰

기타개발

github - branch 기본 사용법 및 merge

쉬엄쉬엄하자 2021. 6. 24. 15:35
728x90

보통 간단하게 전공 팀프로젝트를 하거나 개인적으로 팀 토이 프로젝트를 할 때 github를 자주 애용하지만 실질적으로 master브랜치 하나로만 운영하는 경우가 많습니다.

 

그래서 master이외의 로컬 브랜치를 하나 생성하고 실질적인 작업은 별도의 브런치에서 진행하면서 원격 저장소의 master브랜치와의 연동은 로컬 master브랜치에서 하는 방법에 대해 알아보겠습니다.

 

먼저 로컬 브랜치를 만드는 명령어

git branch 브랜치이름

 

브랜치를 옮기는 명령어

git checkout 브랜치이름

 

브랜치를 합치는 명령어

git merge 대상브랜치이름 

 

그럼 이제 로컬 작업은 새로만든 브랜치에서 하고 원격저장소와의 연동을 위해 push하는 작업은 master에서 하게됩니다.

 

새로 만든 브런치에서 하나의 기능을 개발 완료하였다면 git checkout master 명령어를 통해 master브랜치로 이동하고 커밋합니다.

 

다시 다른 브랜치로 돌아와 작업을 이어나가는 도중 협업하는 팀원이 앞서 커밋한 모듈의 기능을 긴급하게 요청할때 master브랜치로 가서 pull origin master를 먼저 진행한 후 push origin master를 통해 모듈이 완성된 상태까지만의 내용을 푸시할 수 있습니다

 

전체적인 작업순서.(브랜치이름을 test라고 합시다)

 

1.정신을 가다듬고 책상앞에 앉아 아이스 아메리카노를 한모금 마신다.

 

2.git chekcout master

 

    2-1.여기서 master로 이동하려고 할 때 

    Please commit your changes or stash them before you switch branches.  라는 문구가 뜬다면

    git add .

    git commt -m "message"

    명령어를 수행한다

 

3.git pull origin master (master브랜치)

    3-1 여기서 pull을 할 때

    Automatic merge failed; fix conflicts and then commit the result. 라는 문구가 뜬다면

    충돌난 파일의 내용을 열어 코드를 보며 merge합니다(필요한 내용을 보면서 합침, 추후에 포스팅 예정)

    그리고 git add 충돌난파일

    commit -m "merge commit"

    명령어를 수행한다

 

4.git checkout test

 

5.git merge master

    5-1여기서도 역시 conflict(충돌) 문구가 뜬다면 merge작업을 수행한다

 

6.열심히 test 브랜치에서 코딩을 한다

 

7.git add . , git commit -m "작업내용"

 

8.git checkout master

 

9.git merge test

 

10.git pull origin

 

11. git push origin

 

12. 퇴근

 

다소 복잡해보이지만 간단한 협업에서는 이정도만 해도 충돌문제를 대부분 극복할 수 있을 것 같습니다

    

댓글