ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데브코스] 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가지로 분류 )

    1. fast forward
      A branch에서 B branch를 생성한 시점부터,
      A branch에는 아무런 추가 구현을 하지 않고
      B branch만 추가 구현한 뒤
      B branch와 A branch를 합치면, A branch에 그냥 B branch가 붙으면 끝남. 

    2. 3-way 일반적으로 가장 많이 사용하는 전략
      A branch에서 B branch를 생성한 시점부터
      A branch도 추가 구현을 하고
      B branch도 추가 구현을 하고
      B branch와 A branch를 합치면 A branch와 B branch가 서로 비교하여 바뀐 것을 정리하여 합치는 전략

    3. 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

Designed by Tistory.