🤷🏻♂️ "Git Flow 정리"
- Git을 처음 시작하게 되면 Github에 저장소를 작성
git init
하고 로컬에 복제git clone
- 해당 로컬저장소에서 개발, 파일작성, 정보추가 등의 작업을 한다.
- 로컬저장소의 정보를 원격저장소에 갱신하기 위해
git add .
를 통해 로컬저장소를 지정한다.
- 추가, 변경사항을 간결하게 작성하여
git commit -m "내용"
커밋한다.
- 이후 새롭게 갱신된 커밋을
git push
를 통해 원격저장소에 반영한다.
🤷🏻♂️ "브랜치?"
브랜치란 무엇인가?
- 동시에 이루어지는 여러 버전을 관리하는 기능이다?
- 특정 기준의 커밋에서 줄기를 나누어 새로운 커밋을 만들어 작업할 수 있게 해주는 기능
- 만약 하나의 커밋을 여러명이 작업을 하려고 한다면 오류가 발생한다
- 먼저 푸시한 커밋은 정상적으로 올라가지만 다음 푸시된 다른 커밋은 과거 커밋에 푸시하기 때문에 최신 코드에 푸시하라는 오류가 발생한다.
- 브랜치는 나뭇가지처럼 자라나는 것이 아니라 "포인터"이다.
- 그렇기 때문에 새롭게 작성된 커밋을 가리킨다라고 이야기한다.
- 그렇기 때문에 분기를 만들기 위해 모든 프로젝트를 복사할 필요가 없다.
간단하게 보는 브랜치 flow
B브랜치 생성(바로 이동) - 개발 - B브랜치 푸시 - B브랜치 풀 - B브랜치를 A브랜치에 병합 - B브랜치 삭제
🤷🏻♂️ "git에서 브랜치 사용하기"
브랜치 만들고 이동하기
git branch
: 브랜치의 목록을 확인한다
git branch branchA
: branchA 브랜치를 생성한다
git checkout branchA
: branchA 브랜치로 이동한다
git checkout -b subdir
: branchA 브랜치에서 지점을 만들고 이동한다.
브랜치로 이동하고 나서
- 브랜치로 이동하고 나서부터는 앞서 다룬 블로그의 순서대로 진행하면 된다
add .
: 해당 파일을 로컬저장소에 지정한다 `
commit -m ""
: 새로운 커밋을 만든다.
git push origin branchA
: Github에 새로운 브랜치 A와 갱신된 파일을 push한다.
🤷🏻♂️ "브랜치 병합하기"
Github의 Pull Request 사용하기
병합은 github을 통해 진행하는 pull request 과정이 끝나고 github으로 진행한다
- 아래 내용은 혼자 작업할 때 사용할 수 있다.
- 프로젝트에서 맡은 미니프로젝트가 완성되면 통합을 요청한다.
- 개별작업을 마무리하고 main(master) 브랜치로 모든 브랜치를 병합한다.
- 일반적으로 브랜치 병합은 마지막 단계에서 사용된다.
브랜치 병합 과정
git checkout main
: 현재 분기(head)를 main으로 전환
git merge branchA
: branchA 브랜치를 main에 병합
git push origin main
: 병합한 main 브랜치를 github에 push
브랜치 삭제하기
git branch -d branchA
: branchA 브랜치를 삭제한다.
- 잘못 만든 브랜치를 제외하고는 기록을 위해 보존한다.
🤷🏻♂️ 결론
처음 이해했을 때는 굉장히 쉽다고 느꼇던 깃의 브랜치 기능.
하지만 브랜치라는 단어의 의미 때문인지 중요한 지점에서 이해가 갈렸다.
깃에 대한 감각을 키우기 위해서는 동기님께서 추천해주신 이 사이트를 추천한다.
이제는 실습하면서 더 알아가보자
정리왕👍