본문 바로가기

■ 프로그래밍/Front-end

Git & GitHub (2) - branch, conflict

혼자 작업하는 것이라면 master branch에서 혼자 add, commit, push하면 된다.

하지만 협업을 할 경우 동시에 같은 코드를 수정하고 있는 경우가 많아, 각자 branch를 따로 만들어서 push후 pull request로 관리자의 최종 승인을 받는 코드가 master branch에 올라간다. 

 

branch

branch란 각자 독립적인 작업을 진행하기 위한 공간이다. 

git branch

branch 생성, 이동 명령어에 대해 알아보자. 

// branch 생성
git branch feature/브랜치명 

// branch 이동
git checkout feature/브랜치명

// 수정 완료 후
git add .
git commit -m "커밋내용"
git push origin feature/브랜치명

 

해당 branch의 목적이 달성됐다면, master branch로 돌아와 한 번 git pull을 해서 전체적으로 업데이트를 하는 것이 좋다. 그리고 다른 작업을 진행할 때, 새로운 branch를 만들어서 진행하여 코드 꼬임을 방지하는 것을 잊지 말자.  

git checkout master    // master branch로 이동
git merge 브랜치명      // 생성한 branch에서 작업한 내용 병합하기
git branch -d 브랜치 명 // branch 삭제하기
git branch             // branch 확인하기

 

 

Conflict

여러 사람들과 작업을 하니 당연히 다른 사람과 같은 코드를 수정할 경우도 종종 생긴다. 

git add, commit, push를 하고 pull request를 누르면 conflict 되었다고 뜬 것을 볼 수 있다. 

conflict를 해결하려면 아래와 같이 진행하면 된다. 

git status // 충돌(conflict)된 파일 찾기

// GitHub에서 conflict가 난 다음
git checkout master              // master branch로 이동
git pull origin master           // master(원본) 내용 가져오기
git checkout feature/브랜치명    // 내 branch로 이동
git merge master                 // 내 branch에 내용 병합하기
vi README.md                     // 에러가 뜬 곳을 볼 수 있음, 삭제 혹은 수정
git add .
git commit -m "change"
git push origin feature/브랜치명

 

'■ 프로그래밍 > Front-end' 카테고리의 다른 글

자료 구조(Data Structure) (1) - 소개  (0) 2020.04.06
웹 동작 원리 기초  (0) 2020.04.04
Git & GitHub (1) - 정의, 명령어  (0) 2020.04.01
리눅스 & 터미널 기초  (0) 2020.03.31
개발자도구 활용하기  (0) 2020.03.27