[TIL]231027_github 협업

ㅇㅖㅈㅣ·2023년 10월 27일
2

Today I Learned

목록 보기
14/93
post-thumbnail

팀과제를 진행하면서 각자 맡은 부분을 작업한 후 merge를 중간중간 하게 되었다.

Pull requests

  1. 변경사항을 merge하기전에 깃허브에 올려서 협업자들과 공유
  2. 협업자들은 Files changed에서 변경사항 확인하면서 코드리뷰
  3. 별다른 문제 없으면 코멘트 남긴 후 merge 진행

그런데 처음에는 Pull requests를 하기전에 vscode에서 화면공유하면서 대표자 한명이 pull하고 충돌수정하고 다시 dev로 push하는 작업으로 진행했었다.

❌ 문제발생

  • 해야했던 순서
    git checkout dev ➡️ git pull origin dev ➡️ git checkout Yeahzzl(내브랜치) ➡️ git rebase dev

  • 내가 진행한 순서
    git pull origin dev ➡️ git checkout Yeahzzl(내브랜치) ➡️ git rebase dev

내 브랜치에서 pull하고 rebase하고 난리났다...
아니나 다를까 충돌이 이상하게 나서 혼자서는 수습이 안됐다.


💊 문제해결

  • 병합편집기에서 확인하며 변경사항 병합하고 더 이상 병합할 요소가 없는데 해결실패
  • 문제가 되는 파일만 삭제하고 다시 pull하는 방법으로 진행
    git add .(이거 진짜 필수) ➡️ git stash ➡️ git checkout dev ➡️ git pull origin dev
    여기서도 'git checkout dev' 이거 안했었다가 몇번 실패하고 깨달았음...

이렇게 우선 해결완료!!ㅠㅠㅠㅠ

하지만 수정하면서 너무 이것저것 지우고 난리를 쳤기 때문에 팀원분께서 그냥 브랜치 삭제하고 새로 만드는걸 추천해주셔서 새로 만들었다!


💡 알고있어야 할 내용

<많이 쓰이는 git 용어>

  • git branch : 내가 현재 어떤 브랜치에 있는지 알 수 있음
  • git branch 브랜치명 : 새로운 브랜치 생성
  • git switch 브랜치명 / git checkout 브랜치명 : 브랜치 이동
  • git switch -c 브랜치명 / git checkout -b 브랜치명 : 브랜치를 만들면서 바로 이동
  • git branch -d 삭제할브랜치명 : 로컬에서 브랜치 삭제
  • git push origin --delete 삭제할브랜치명 : 원격에서 브랜치 삭제
  • git stash : 임시저장(commit의 하위버전..?)
  • git rebase 브랜치명(ex.dev) : dev에 있는 데이터 현재 브랜치

<협업시 사용하기 좋은 프로그램>

깃크라켄!
https://www.gitkraken.com/

이런식으로 각자 commit, push한 상황을 다 알수 있기 때문에 한눈에 확인하기 수월하다.

git & github는 꼭 필요한 존재이지만 할 때 마다 헤매는만큼 언제쯤 친해질 수 있을지 궁금하기도 하다...

하지만 실패하면서 배우는거 아니겠나?!😂

profile
웰씽킹_나는 경쟁력을 갖춘 FE개발자로 성장할 것이다.

0개의 댓글