[Git] Github repository, git pull, 깃으로 협업하는 법
회사에서 개발자들은 어떻게 일할까? 회사에서 쓰는 실전 깃 깃허브 한방에 끝내기! 15분만 투자해라 님들의 회사생활이 편해짐
master는 최종 branch이므로 개발할 때, 함부로 master에 push를 하면 안됩니다.
git push origin master
이전 포스트를 참고하여 Github repository를 만든 상태에서 협업하는 법을 진행해봅시다.
git clone을 먼저 해줍니다.
git clone https://github.com/sandokim/STAR-GS.git {option 복사할 경로의 폴더이름}
cd STAR-GS
code .
코드를 수정합니다. git clone할 때 이미 세팅정보도 같이와서 init, remote는 필요없습니다.
git add .
git commit -m "freshman first commit"
git push origin master
을 하지말고, 신입사원을 위한 branch를 따로 만들어줘야 합니다.
git checkout -b freshman
이제 freshman branch로 push합니다.
새로운 freshman branch가 생긴 것을 확인할 수 있습니다.
pull request를 해봅시다.
그러면 아래와 같이 Pull request가 생깁니다.
Pull request(PR)는 다른 branch에서 작업한 코드가 master에 합쳐질 수 있도록 허락해달라는 요청입니다.
다시 Senior 입장에서 Pull request를 살펴봅시다.
필요하다면 바뀐 코드에 대해 코멘트를 남겨줄 수 있습니다.
아래와 같이 코멘트가 표시됩니다.
코드가 괜찮다고 생각된다면 이제 merge를 해줍니다.
Merge pull request는 엄청난 책임이 따릅니다.
Merge pull request를 하는 경우, pull request를 한 다른 branch가 master branch와 합쳐집니다.
이를 통해 freshman의 branch과 master branch가 merge되어 최종 master branch 프로덕트가 완성됩니다.
merge되었을때, freshman이 커밋할 때 사용한 commit message가 표시되는 것을 확인할 수 있습니다.
현재 리더 본인이 작업중인 코드와 협업중인 다른 사용자(freshman)에 의해 바뀐 Github의 master branch 코드가 동기화되도록 해줘야 합니다.
리더도 개발을 하고 있던 도중입니다. 이때 freshman과 merge해서 github repository에서 버전이 바뀐 상황이라고 해봅시다. (버전이 완전히 달라진 상황)
master branch에 변화가 생겼다면, 같이 개발 중이던 모든 사람은 pull이란걸 해줘야합니다.
즉, master에 있는 source code와 동기화를 해주는 것입니다.
먼저 리더 본인이 작업 중인 코드를 날리면 안되므로, 다음을 하여 저장을 해줍니다.
git add .
git commit -m "second commit"
push는 하지않고, pull을 먼저 해줍니다.
git pull origin master
로 github master branch에서 업데이트 된 내용을 현재 본인이 작업한 코드와 동기화 해줍니다.
최종적으로
git push origin master
로 github master branch를 업데이트 해줍니다.
freshman branch에서 다시 master branch로 돌아가서 코딩을 해봅시다.
git switch {브렌치 이름}으로 branch를 바꿔줄 수 있습니다.
git switch master
다음과 같은 에러가 뜬다면, master branch이름이 default로 main
으로 되어있기 때문에 그렇습니다.
branch이름을 main
에서 master
로 바꿔줍니다.
main
에서 master
로 이름이 바뀐 master branch를 pull 해줍니다.
git pull origin master
master branch로 switch 해줍니다.
git switch master
이제 master branch에서 다시 코딩을 시작할 수 있습니다.
감사합니다.
Leave a comment