브랜치 :
개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와 상관없이 독립적 개발 진행을 할 수 있게 하는 것을 브랜치라고 한다.
1. 브랜치 사용법
1) 브랜치 조회 : git branch
=> *이 붙어있는 brnach가 HEAD가 가리키는 브랜치
2) 브랜치 만들기
=> git branch
=> git checkout -b <branchname>
ex) git branch issue1 : issue1이라는 이름으로 브랜치 만듦
ex) git checkout -b issue1 : issue1 브랜치 생성 후 HEAD가 issue1을 가리키게 함
3) 브랜치 전환
=> 어떤 작업 수행 시 이 브랜치를 사용하겠다고 명시적으로 지정해야 함
=> git checkout <branchname>
ex) git checkout issue1
3) 브랜치 병합
=> 병합할 커밋 이름을 넣어서 실행하면 지정한 커밋 내용이 'HEAD'가
가리키고 있는 브랜치에 넣어짐
=> git merge
ex) git merge issue1 : master 브랜치가 가리키는 커밋이 issue1과 같은 위치로 이동하여 병합
4) 브랜치 삭제
=> git branch -d <branchname>
ex) git branch -d issue1 : issue1 브랜치 삭제
[git branch에 push하는 과정 예시]
git checkout -b issue1
git add --all
git commit -m "moving file to review branch"
git push origin issue1
2. Pull Request
=> 협업을 하다보면 자주 사용하게 되는 기능 중 하나
=> 자신이 작성한 코드를 원본 저장소를 관리하는 담당자에게 PR을 요청하고 담당자가 이를 수락하면 원본 저장소에
merge하는 방식
=> push 권한이 없는 프로젝트에 자신이 짠 코드를 기여하고 싶을 때
1) Pull Request 생성
=> push 완료 후 github 저장소로 가서 branch를 설정하기
=> compare & pull request 버튼이 활성화되어 있음
=> 해당 버튼을 클릭하여 메시지 작성 후 PR 작성
2) 코드 리뷰
=> PR을 받은 원본 저장소 담당자는 코드 변경 내역 확인하고 merge할지 판단
3) 원본 저장소에 merge
=> 원본 저장소에 merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화
'컴퓨터학부 3학년 > 후반기 학습 포스팅' 카테고리의 다른 글
Python 변수 스코핑(scoping) 순서 (0) | 2019.08.05 |
---|---|
문자열 인코딩(encoding) (0) | 2019.08.05 |
C++ STL 공부 내용 포스팅 (0) | 2019.06.21 |