-
[데브코스] 5일차 교육 내용정리TIL/교육 내용 정리 2024. 4. 12. 15:11
Git Branch 이름 규칙
- 기능 개발 : feature/login(로그인), feature/select-product(상품조회)
- 출시 준비 : release-1.3, release-1.4
- 긴급 수정 : hotfix-1.2.1
- 브랜치 삭제하는 법
git branch -d <브랜치명>
ex) git branch -d feature/1.
더 자세한 내용은 https://studyiwthme.tistory.com/24 참고
❓원격브랜치 삭제했지만, 로컬 브랜치 남아있는 이유?
https://studyiwthme.tistory.com/25
❓원격저장소에 브랜치 생성한 뒤, 로컬에서 작업할 때, 생길 수 있는 문제
https://studyiwthme.tistory.com/26 - commit을 하기 전까지는 브랜치를 나누어도 적용되지 않는다.
- 깃허브에 브랜치가 몇개가 올라가 있는지
= git branch -r - 깃허브에 브랜치 생성하고 깃 브랜치 복제하기
깃에 만들어둔 브랜치를 원격 브랜치로 복제
git push <깃허브저장소별칭> <깃브랜치명>더보기📢 반대로, 깃허브에 브랜치를 먼저 생성하고, 깃으로 받아오려면 깃브랜치명과 깃허브브랜치명을 바꿔서 작성하면 된다.
깃 브랜치 전략
깃 브랜치 전략이란? 깃 플로우라고도 부른다.
전략은 다양하게 짤 수 있다. ( 사실 크게 2가지로 분류 )
- fast forward
A branch에서 B branch를 생성한 시점부터,
A branch에는 아무런 추가 구현을 하지 않고
B branch만 추가 구현한 뒤
B branch와 A branch를 합치면, A branch에 그냥 B branch가 붙으면 끝남. - 3-way 일반적으로 가장 많이 사용하는 전략
A branch에서 B branch를 생성한 시점부터
A branch도 추가 구현을 하고
B branch도 추가 구현을 하고
B branch와 A branch를 합치면 A branch와 B branch가 서로 비교하여 바뀐 것을 정리하여 합치는 전략 - 3-way + fast-forward
먼저 f-f 하고 다른 브랜치랑 합치면 3-way = 두가지 방식을 합친것.
pr(pull request) & merge
branch protection rule : 브랜치 무분별 병합 방지
- Settings → Branches
Contribute → Open pull request : 병합 브랜치 병합을 할 때, 코멘트는 무엇을 구현했는 지
pull request를 신경써서 잘 쓰자.
병합이란, (위에서 아래 순서대로 일어남)
- 브랜치를 생성한다는 건, **“협업”**을 위한 것
- 그래서 우리는 주로 브랜치 병합(추가 가지 → base가지(main))을 “깃허브”에서 함
- main 브랜치 보호한 뒤
- 추가 브랜치 → main 브랜치에 병합 시켜줘 (=pull request)
- 깃허브에서 충돌 일어나는 지 자동으로 확인 해줌
- PR 메세지 신경쓰자 *
- merge
- merge가 일어날 때, merge commit 같이 일어남. (깃허브에서)
- branch 삭제
충돌 (3-way)
원격 저장소에서는 브랜치를 삭제하였고, 그게 반영되었지만 로컬에서는 반영 안되었을 때, 방법
git branch // 브랜치 목록 확인
git branch -r // 원격 저장소(깃허브) 브랜치 목록 확인
git fetch -p // 동기화
git branch -r // 원격 저장소(깃허브) 브랜치 목록 확인, 이 때 사라진 걸 볼 수 있음
git branch // 하지만 내 로컬에는 아직 남아 있는 걸 볼 수 있다.
git checkout main // 현재 벗어나려는 브랜치를 사용중이라면 벗어나는 과정 // ex) git branch 했을 때 결과가 아래와 같다면, 벗어나자. // * feature/login (이건 저의 브랜치입니다. 여러분이 저장하신 브랜치 명 나오실거) // main
git branch -d feature/login // 로컬에서도 삭제
// 만약 위 과정에서 fully merged가 안됐다고 한다면. // 그 이유는 원격 저장소(깃허브)에서는 merge를 했지만, 로컬에서는 merge를 안했기 때문에 뜨는 오류 // 따라서 main 도 동기화를 해주어야 됨. git pull origin main
git branch -d feature/login // 동기화하고 다시 삭제 시도 끗~
‼️ 정리
<merge된 깃허브 - 깃 동기화>
git fetch -p : 깃허브 브랜치 목록을 동기화 → (깃 브랜치 삭제) git checkout main → git pull origin main (동기화)
→ git branch -d <브랜치명>git checkout -t origin/feature/1
충돌일어나는 상황
원하는 코드 남기고 Mark as resolved → Commit merge
'TIL > 교육 내용 정리' 카테고리의 다른 글
[데브코스] 9일차 교육 내용정리 (0) 2024.04.16 [데브코스] 6,7일차(주말) 8일차 교육 내용정리 (0) 2024.04.15 [데브코스] 3일차(복습방학) 4일차 교육내용정리 (0) 2024.04.11 [데브코스] 2일차 교육내용 정리 (0) 2024.04.09 [데브코스] 1일차 교육내용 정리 (0) 2024.04.08