팀프로젝트 Github 활용 및 컨플릭트 해결

라용·2022년 9월 20일
0

위코드 - 스터디로그

목록 보기
49/100

위코드에서 공부하며 정리한 내용입니다.

Branch 생성

브랜치 이름 페이지 단위로

브랜치 이름은 페이지 단위로 만듭니다. (feature/login) 기능 별로 더 잘게 나누어도 되지만, 아직 git 이 익숙하지 않다면 페이지 단위로 나눕니다

브랜치는 main(master) 에서 생성하기

새로운 feature/product 브랜치를 만든다면, 작업을 진행했던 feature/login 이 아니라, 로컬 main(master) 브랜치로 이동한 후 생성해야 합니다. 이동하지 않고 작업할 경우 product 브랜치에 login 작업 내역이 남아 있게 되고, 이후 login 을 수정할 경우 product 를 머지할 때 수정된 login 내용과 product 를 생성할 때 기록된 login 이 달라 컨플릭트가 발생할 수 있습니다.

컨플릭스 해결

깃허브 푸쉬 후 컨플릭트가 발생하면, 깃허브에서 해결하지 않고 로컬에서 해결하는 것이 안전합니다. 리모트 의 최신 main 과 머지해서 확인할 수 있습니다. 컨플릭트가 나는 이유는 최신화된 리모트의 main(master) 와 로컬의 main이 달라져서 발생합니다.

  1. git add, commit
    ㄴ 변경된 사항이 있으면 add, commit 해야 main 으로 이동 가능
  2. git checkout main(master)
    ㄴ 로컬 main 으로 이동
  3. git pull origin main(master)
    ㄴ 현재 리모트 main 을 가져와서 로컬의 main 최신화
  4. git checkout feature
    ㄴ 컨플릭트가 났던 작업 브랜치로 이동
  5. git merge main(master)
    ㄴ 로컬 작업 브랜치에서 방금 최신화한 로컬 마스터 브랜치와 병합, 이렇게 하면 리모트에서 났던 컨플릭트가 동일하게 발생
  6. 컨플릭트 해결하고 add, commit
    ㄴ vscode 좌측 바, 세번째 아이콘을 누르면 빨간 느낌표가 뜬(컨플릭트가 난) 파일 확인 가능
    ㄴ 들어가서 최종 적용할 코드 선택, 잘못 선택하면 ctrl+z 로 뒤로 가기
    ㄴ 최종 선택하고 애드 커밋.
  7. git push origin feature
    ㄴ 마지막 푸시하면, 깃허브 상에 컨플릭트 알림창은 꺼짐
profile
Today I Learned

0개의 댓글