✨Git branch 이름 규칙
메인브랜치: v1.2.0
develop branch - 기능개발시: feature/login, feature/select-products
출시준비시: release-1.3, release-1.4
긴급수정시: hotfix-1.2.1
✨branch 명령어
🔸git branch -d 브랜치명
➡️브랜치 삭제하는 명령어
🔸git branch -r
➡️GitHub에 branch가 몇 개가 있는지 확인하는 명령어
🔸git branch 브랜치명
➡️Git 안에서만 브랜치를 생성하는 명령어
🔸git push (원격저장소별칭) (생성한 브랜치명)
➡️원격저장소(GitHub)에 브랜치를 생성해서 git에 있는 브랜치와 연결하는 명령어
branch를 생성한 당시부터 병렬로 사용할 수 있는게 아니라 commit을 하는 순간부터
병렬적으로 사용할 수 있다.
branch 사용 주의점
commit을 하면 롤백이 되지 않기 때문에 항상 내가 어떤 branch에 있는지 더블체크 후 commit 해야함!
🔥Git branch 전략🔥
git-flow 라고도 부르며 크게 2가지로 분류된다.
일반적으로 main branch에 바로 추가 구현을 하지 않는다!💢
❄️fast forward
🔹A branch에서 B branch를 생성한 시점부터
A branch에는 아무런 추가 구현을 하지않고, B branch만 추가 구현 한 뒤
B branch와 A brnach를 합치는 전략
❄️3-way ➕ fast forward🗝️🗝️
🔹일반적으로 가장 많이 사용하는 전략
A branch에서 B branch를 생성한 시점부터
A branch도 추가 구현을 하고, B branch도 추가 구현을 한 뒤
B branch와 A branch를 합쳐서 각 branch를 서로 비교하여 바뀐 것을 정리하여 합치는 전략
💢충돌이 일어날 수 있음
✨merge 전 pull request 요구할 수 있게 branch 보호 설정하기
Pull Request(pr)✨
🔥병합할 때 사용하는 pr에 메모를 남기는 팁
🔹branch에 구현한 사항들을 메모 (마크다운 사용)
🔹주요 구현 내용, 이슈 꼭 남기기🔥
✨merge 하기
Merge pull request 버튼 눌러서 merge하기
🔥보통 협업에서는 목적에 맞는 branch 사용 후 merge까지 하게되면 delete branch를 한다.
💢무언가 문제가 있다면? 다시 branch를 살리거나 merge를 풀 수도 있음!💢
❄️Git Commit history
정리!
✨Merge(병합)이란?
🔹Git 에서
branch를 생성한다는 건 협업을 위한 것
생성한 branch에서 기능 구현 후 commit 하고
🔹GitHub에서
main branch를 보호설정 후
생성한 branch에 소스코드를 main branch와 병합 함(Pull Request)
GitHub에서 자동으로 충돌이 일어나는지 확인 하고
🔥PR메세지🔥(기능구현내용, 이슈) 남긴 후
Merge를 하면서(이때 하는 merge도 commit이다.)
❄️merge commit❄️해주고
마지막으로 기능 구현 위해 생성한 branch는 삭제해준다.🗝️
💢GitHub에서 삭제한 branch가 Git에서 살아있을때 !
🔸git fetch -p
➡️ Git에서 GitHub와 동기화 시키는 명령어
사용 후 git branch -r 명령어 확인하면 branch가 사라진 걸 볼 수 있음!
(아직 git branch 에서는 남아있음)
그 후 Git에서도 git checkout master 해서 이동한 후
git branch -d 브랜치명 을 사용하여 삭제하면
error: the branch 'feature/login' is not fully merged 에러가 뜨는데
git pull origin master 명령어를 사용하여
✨Git에도 GitHub에서의 머지상태를 동기화 시킨 후
다시 브랜치 삭제 명령어를 사용하여 삭제한다!💢
🔥🔥재정리 🔥🔥
git fetch -p
git checkout master
git pull origin master
git branch -d 브랜치명
💢동기화 후 log에 동기화 전 log에는 없던 merge commit도 확인 가능하다💢
🔥🔥branch delete 성공🔥🔥
✨GtiHub에서 branch 생성해서 Git으로 받아와서 merge 실습해보기!
❄️GitHub에서 branch 생성하기
❄️Git에서 GitHub와 동기화 후
🔸git checkout -t 브랜치명
명령어를 통해 내가 원하는 브랜치로 이동하기
💢각각의 branch에서 같은 소스코드 수정 commit을 하여 충돌상황 실습
먼저 commit한 feature/1 branch pr 해주고 feature/2 branch pr시
💢 자동으로 merge 할 수 없다는 경고창이 뜸.💢
💢pr버튼 클릭시 뜨는 창
💢Resolve conflicts 버튼 클릭시 같이 변경되어 충돌이 생긴 소스코드 부분을 보여준다.
❄️충돌부분 직접 확인하여 살릴 부분만 남기고
Mark as resolved 버튼을 눌러준 후 commit 해준다.
'공부 > 타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)' 카테고리의 다른 글
웹 서비스의 이해: 웹 생태계부터 웹 브라우저, 그리고 데이터베이스까지(1)-HTML (0) | 2024.08.20 |
---|---|
포트폴리오 / 협업 환경 구성(5)-협업툴 (0) | 2024.08.19 |
포트폴리오 / 협업 환경 구성(3)-branch 명령어 (1) | 2024.08.14 |
포트폴리오 / 협업 환경 구성 (2)-git 명령어 (0) | 2024.08.13 |
포트폴리오 / 협업 환경 구성 (1) (0) | 2024.08.12 |