GitHub
[내용정리] Git - branch 정리
YOONDS
2022. 1. 3. 16:02
git Branch란?
- 가지를 파서 따로 개발을 진행한다는 뜻
추후 뻗었던 가지를 다시 한곳으로 합칠수 있음
(각자 필요한 기능이 있으니 가지를 뻗어서 개발이후 한곳으로 합치자!)
git Branch사용시의 이해할 용어
- MasterBranch : 통합 브렌치, 저장소를 처음 생성하게 되면 자동으로 생성됨
해당 브렌치는 바로 배포가 가능한 상태여야 하며, 오류가 안뜨는 상태여야함 - TopicBranch : 기능을 추가, 버그수정하기 위한 브렌치, 즉 우리가 따로파서 개발을 진행하는 브렌치
Branch의 필요명령어 (브렌치명은 직관적으로 'test'로 통일)
- git branch test : 현재위치해 있는 내용을 복사하여 'test'라는 이름으로 브렌치 생성됨
- git checkout test : 'test' 라는 이름의 브렌치로 이동
- git checkout -b test : test 브렌치 생성과 checkout이 한번에 이루어짐
- git branch : 내가 위치한 브렌치가 어디인지 확인가능
- git status : 현재 깃상태의 확인
- git branch -r : 원격 저장소의 모든 브렌치 확인
- git branch -a : 로컬, 원격 모든 브렌치 확인
- git checkout -b "Test" "origin/Test" : 로컬 브렌치와 원격 저장소 branch 한번에 생성 (-upstream 한것처럼 track까지 한번에 등록됨)
내 원격 Branch에 push하기
- git add . : 파일 모두 담아 넣기
- git commit -m "필요한 메시지명"
- 어라? 난근데 git commit 메시시명을 좀더 디테일하게 넣고싶은데? 예를들어, header, footer등으로 구분지어서..
git commit : 해당 명령어를 치면 header, footer, body로 구분지어서 commit내용 디테일하게 작성가능
상단의 commit -m "메시시명"을 할경우에는 해당내용이 header에만 들어감 - git push origin 브렌치명 : 해당 브렌치로 push
- git push -u origin test : '-u'를 사용함으로써 원격저장소와 연결성공, 이후에는 git push만 하여도 알아서 'test'와 연결됨
작업완료이후 마스터(통합 브렌치)에 merge하기
- git checkout master : 우선 'mater'통합 브렌치로 이동
- git merge test : merge할 브렌치를 입력
위 방법은 리젝이날경우 직관적으로 보이지 않아 풀기어렵고
개인 개발이 아닌 팀프로젝트 개발을 할경우 PR(pull request)을 하는경우가 대다수이기 때문에
PR에 대해서 정리해서 따로 올리도록 하겠다.
작업완료이후 Branch 삭제하기
- git branch -d test : 'test'라는 이름을 가진 로컬 브렌치 삭제
- git push origin --delete test : 'test'라는 이름을 가진 원격 브렌치 삭제
Branch를 완전히 삭제하려면 두가지명령어를 전부다 해주어야한다.
간혹 원격브렌치 삭제 만 하고, 왜 아직 로컬에 branch가 남아있지? 하는경우도 있는데
로컬과 원격은 따로따로 삭제가 이루어져야한다.