4.1 버전을 나누어 관리하는 이유
브랜치 : 버전을 여러 흐름으로 나누어 관리하는 방법
3단계로 버전 관리하는 방법
1. 브랜치를 나눈다.
2. 각자의 브랜치에서 작업한다.
3. 필요한 경우 나눈 브랜치를 합친다.
최초의 branch : master branch
우리가 만든 커밋은 모두 master branch에 속함
hard : 현재 작업 중인 브랜치의 최신 커밋을 가리키는 일종의 표시
브랜치를 나누고 합치는 과정에서 head의 위치를 자유자재로 바꿀 수 있음
특정 브랜치로 체크아웃하게 되면 head의 위치가 해당 브랜치의 최신 커밋을 가리키고, 작업 디렉터리는 체크아웃한 브랜치의 모습으로 바뀌게 됨
브랜치 이름을 마음대로 지어도 되는지?
브랜치 이름을 임의로 지어도 무방하나,실무에선느 브랜치 이름을 암묵적으로 정해두는 경우가 많음
ex. 새로운 기능을 개발하기 위한 브랜치는 feature/<새기능>, 릴리스를 준비하기 우히ㅏㄴ 브랜치 이름은 release/<릴리스 번호>, 급하게 수정해야 하기 위한 브랜치 이름은 hotfix/<수정사항> 으로 이름 명명 가능함
4.2. 브랜치 병합하기
브랜치를 하나로 통합하는 것을 병합, merge
*빨리 감기 병합 Fast-Forward Merge (책 내용 참고 144페이지)
Fast-Forward Merge는 두 브랜치 간의 병합 과정에서 새로운 커밋을 생성하지 않고, 단순히 브랜치를 앞쪽으로 이동시키는 방식입니다.
이것은 병합하려는 브랜치가 현재 브랜치의 직속 후속(commit history 상의 연속)일 때 가능합니다.
foo 브랜치에서 더 이상 작업하지 않을 예정이라면 병합 후 foo 브랜치를 삭제하는 것이 좋음
4.3 충돌 해결하기
병합하려는 두 브랜치가 서로 같은 내용을 다르게 수정한 상황을 의미
충돌이 발생하면 브랜치가 한 번에 병합되지 못함
ex. foo 브랜치에서 a.txt 첫 번째 줄을 c로 커밋 master 브랜치에서 a.txt 첫 번째 줄을 b로 수정한 커밋
위 두 커밋을 병합하면 충돌이 발생하나, 깃도 모름! 어떤 브랜치의 내용을 반영할 지 여러분이 직접 선택!
충돌 해결하기
=> 같은 내용을 다르게 수정한 브랜치 중 어떤 브랜치 내용을 최종적으로 반영할지를 직접 선택하는 것을 충돌 해결한다고 표현함
4.4 브랜치 재배치하기
rebase
'QA 업무' 카테고리의 다른 글
[CI/CD] [git&github] 5.2.4. 패치 : 원격 저장소를 일단 가져만 오기 (0) | 2024.11.22 |
---|---|
[CI/CD] [git&github] 5.2 원격 저장소와의 네 가지 상호 작용 (0) | 2024.11.20 |
[CI/CD] [git&github] 3.1 버전 비교하기 (0) | 2024.11.20 |
비동기 처리 로직 (Asynchronous Processing Logic) (1) | 2024.11.19 |
[취업을 위한 백엔드 개발] 16강. head 태그와 body 태그 (0) | 2024.11.13 |