git으로 협업할 때 중요한건 기능별로 브랜치를 만들고 main,dev 같은 브랜치에 merge/ pull request 하는 과정이 필요하다.
오늘 git특강에서 협업할 때 github를 어떻게 쓰는지에 대해 배워서 정리해보면 좋을 것 같았다.
github 특강 - 협업 심화편
깃허브에서 branch는 워드파일에서의 복사본 이라고 생각하면 쉽다.
git branch 브랜치이름
: 브랜치 생성
ex) git branch login 하면 login 이라는 브랜치 생성!
git branch
: 브랜치 확인
git branch
입력후 터미널에서 보면 *와 함께 색깔로 표시가 되는 브랜치가 있는데 그건 내가 현재 위치한 브랜치이다.
git switch 브랜치 이름
git checkout 브랜치이름
🔍 둘 중에 뭘 쓰든 상관없으니 편한거로 사용하기!
git switch -c 브랜치이름
git checkout -b 브랜치이름
c는 create, b는 branch! 딱히 몰라도 되지만 알면 외우기 쉬우니까~
git switch 최종브랜치이름
(main)
git merge 합칠 브랜치이름
(login)
예를 들어 login
이라는 브랜치에서 수정하고
다시 git switch
로 main
브랜치로 가면 수정한 사항은 main
에 없다.
따라서 코드가 새로 만들어진 브랜치(여기서는 login)를 main 브랜치에 합쳐야한다.
로컬에서 merge
로 합칠 수 있지만 우리는 협업!을 하고 있고 다른 사람들도 변경된 코드를 보고 리뷰를 해줘야한다.
그래서 보통 코드를 합칠 때는 로컬이 아닌 깃허브에서 합친다.
Pull : 당겨서 합치는 것 (merge)
Request : 요청하는 것
수정한 브랜치(예시에서는 login)에서 코드 수정 후 평소대로 git add .
, git commit -m "메시지"
, git push
하고 깃허브 가면 pull request
알림 떠있다.
pull request
알림을 누르고 코드리뷰와 합치는 과정을 하면 된다.
⭐️ 이거는 깃허브에서 합친것! 아직 로컬에서 수정된 브랜치는 pull
하지 않은 상태이기 때문에 로컬에는 수정사항이 없다.
로컬 main 브랜치 이동 후 git pull origin main
으로 가져와서 싱크를 맞춘 후 추가 개발을 하면 된다.
main 브랜치는 정말 배포용 브랜치이기 때문에 개발이 끝났다고 해도 테스트를 해볼 최종을 위한 최종 브랜치(??)를 만들어두는게 일반적인 협업 과정이다.
main > dev > 개인 브랜치 이 과정을 기본으로 생각하고 팀 개발 하기!
그림으로 보면 이런 과정인데 만약에 저렇게 충돌!!ㅠ 이 나면 어떻게 해야하나!
충돌 해결 및 테스트
우선 충돌이 발생하면 pull request
를 하려고 해도 깃허브에서 초록색 버튼이 안 뜨고 회색 버튼으로 뜬다.
따라서 dev브랜치에 올리다가 충돌이 났으므로 dev브랜치를 우선 로컬에 가져와서 수정을 하고 다시 올려야한다.
(수정 후 git add . / commit / push origin 내 브랜치)
사진으로 보면 정말 간단해보이지만 실제로 해보면 당황하기도 할거고 이 방식대로 해결 못하는 경우도 있겠지..?ㅎㅎ
취업해서 사고치지 말고 팀플하는 동안 경험을 많이 쌓아보자..!
두번째 팀플 퐈이탱..!!!!🔥🔥