—ฅ/ᐠ. ̫ .ᐟ\ฅ —

언어 및 개념 일반

책 따라 Git 기릿🌱: Chapter. 3

WIFI-Aircat 2024. 12. 24. 22:14
📖 정호영, 진유림. <팀 개발을 위한 Git, GitHub 시작하기(개정판)>, 한빛미디어.

Chapter. 3
: 여러 명이 함께 Git으로 협업하기

- 브랜치(branch) : 특정한 기준 시점에서 줄기를 나누어 작업할 수 있는 기능. 커밋을 가리키는 pointer
- 브랜치 이름에 / 를 넣으면 앞에 적은 텍스트를 폴더처럼 볼 수 있다.

> (참고) 두 개발자가 정한 브랜치 규칙
1. [main] 브랜치에는 직접 커밋을 올리지 않는다(동시 작업 시 꼬일 수 있음)
2. 기능 개발 전에 [main] 브랜치를 기준으로 새로운 브랜치를 만든다.
3. 이 브랜치 이름은 [feature/기능이름] 형식으로 하고 한 명만 커밋을 올린다.
4. [feature/기능이름] 브랜치에서 기능 개발이 끝나면 [main] 브랜치에 합친다.


🅱 브랜치 병합하기


- 병합 커밋(merge commit) : 두 브랜치를 합치며 만들어진 새로운 커밋
- 빨리 감기(fast-forward) 병합 : 새로운 추가나 충돌 없이 앞으로 이동
- 충돌(conflict)
    main 브랜치를 가져와 내 브랜치에서 병합한다.
    혹시 병합하다가 충돌할 수 있으니까 동료들의 불편 감소를 위해 나만 쓰는 브랜치에서 먼저 병합해보는 것.
    문제 없으면 병합 커밋을 main 브랜치에 반영


🅲 충돌 해결하기

 

1. History의 [uncommitted changes]에 충돌이 난 파일이 스테이지 아래에 있다.
2. VS code에서 해당 파일을 열어보면 Git이 충돌 난 코드를 자동으로 마크한 것을 확인할 수 있다. > 충돌이 나지 않게 코드 수정
3. 소스트리에서 해당 파일 선택 후 충돌이 모두 해결되었는지 확인
4. 스테이지 > 커밋 > 병합 커밋 생성 ~ 충돌 해결!
5. 원격저장소에 반영: [push]
    main 브랜치에 반영: main checkout > 병합
    main 브랜치 포인터 확인
    원격 저장소에 메인 브랜치를 푸시해 수정사항


🅿︎ 풀 리퀘스트
: 협력자에게 브랜치 병합 요청 메시지를 보내는 것.


<브랜치를 합치는 예의 바른 방법>
1. 새로운 브랜치를 만들어 원격 저장소에 푸시
2. GitHub의 원격 저장소에는 내가 푸시한 브랜치가 노란색으로 보인다.
3. [Compare & pull request]
4. [base:main] , [compare: 내 브랜치명]
    제목과 설명 입력 후 [creat pull request]
5. 협력자가 할 수 있는 것: Accept, Request change, Merge pull request
6. 리퀘스트가 받아들여지면 main 브랜치에서 pull해서 내 컴퓨터의 main 브랜치에도 새로운 커밋을 반영한다.


🅿︎ 풀 리퀘스트 화면 구성
- [base: main] : 병합된 커밋이 들어갈 베이스 브랜치
- [compare: ~ ] : 병합의 대상(내가 만들어 반영시키고 싶어하는 비교 브랜치)
- [Able to merge] : 베이스 브랜치와 비교 브랜치가 충돌 없이 병합 가능하다는 뜻. GitHub에서 자동 계산해서 보여준다. 충돌이 있으면 빨간색으로 Confilict 표시
- [Reviewers] : 저장소의 여러 협력자 중에 선택적으로 검토 요청 가능
- [Assignees] : 풀 리퀘스트 담당(보통 자기 자신)
- [Lables] : 이 풀 리퀘스트에 관련된 라벨 [버그] [리뷰 필요] 등등


 

반응형

'언어 및 개념 일반' 카테고리의 다른 글

[C] 📥 입출력 함수  (3) 2025.01.13
컴파일 에러와 런타임 에러  (1) 2025.01.03
책 따라 Git 기릿🌱: Chapter. 2  (1) 2024.12.23
책 따라 Git 기릿🌱: Chapter. 0 1  (4) 2024.11.22
FastAPI와 favicon error  (2) 2024.11.22