1 minute read

회사에서 개발자들은 어떻게 일할까? 회사에서 쓰는 실전 깃 깃허브 한방에 끝내기! 15분만 투자해라 님들의 회사생활이 편해짐

master는 최종 branch이므로 개발할 때, 함부로 master에 push를 하면 안됩니다.

git push origin master

[Git] Github repository, git commit, git push

이전 포스트를 참고하여 Github repository를 만든 상태에서 협업하는 법을 진행해봅시다.

git clone을 먼저 해줍니다.

git clone https://github.com/sandokim/STAR-GS.git {option 복사할 경로의 폴더이름}

image

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

image

이제 freshman branch로 push합니다.

image

새로운 freshman branch가 생긴 것을 확인할 수 있습니다.

image

pull request를 해봅시다.

image

image

그러면 아래와 같이 Pull request가 생깁니다.

image

Pull request(PR)는 다른 branch에서 작업한 코드가 master에 합쳐질 수 있도록 허락해달라는 요청입니다.

다시 Senior 입장에서 Pull request를 살펴봅시다.

image

image

image

필요하다면 바뀐 코드에 대해 코멘트를 남겨줄 수 있습니다.

image

아래와 같이 코멘트가 표시됩니다.

image

코드가 괜찮다고 생각된다면 이제 merge를 해줍니다.

Merge pull request는 엄청난 책임이 따릅니다.

Merge pull request를 하는 경우, pull request를 한 다른 branch가 master branch와 합쳐집니다.

image

image

이를 통해 freshman의 branch과 master branch가 merge되어 최종 master branch 프로덕트가 완성됩니다.

image

merge되었을때, freshman이 커밋할 때 사용한 commit message가 표시되는 것을 확인할 수 있습니다.

image

현재 리더 본인이 작업중인 코드와 협업중인 다른 사용자(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으로 되어있기 때문에 그렇습니다.

image

image

branch이름을 main에서 master로 바꿔줍니다.

image

image

image

image

main에서 master로 이름이 바뀐 master branch를 pull 해줍니다.

git pull origin master

image

master branch로 switch 해줍니다.

git switch master

image

이제 master branch에서 다시 코딩을 시작할 수 있습니다.

감사합니다.

Leave a comment