Git

Git fork를 활용하여 협업하기

  • 이 포스트는 실제 협업 사례가 아닌 수업 내용을 토대로 하여 git fork 기능을 테스트 해본 경험임을 알려드립니다.

Pm 파트

  • Pm이 새로운 repository를 생성한다.
  • Pm이 clone을 하여 문서를 생성한다.
  • 생성한 git 문서 경로롤 이동한다.
  • develop branch를 하나 생성한다. (사실 git flow를 활용하여 작은 기능 단위를 작업하는 feature branch에서 작업해야함.)
  • develop branch 로 checkout 한다.

  • 파일을 생성하고 작성한 후 add, commit, push를 진행한다.

실제 코드를 작성하는 개발자 파트

  • pm의 repository에서 fork 한다.
  • fork를 하면 pm과 같은 이름의 fork된 repository로 이동하고 닉네임 옆에 포크 아이콘이 표시된다.
  • clone or download 버튼을 클릭하여 pm의 repository 주소를 복사하고 작업할 폴더에 clone 한다.

  • 다음 명령어를 통해 pm의 branch 까지 전부 확인할 수 있다.

    1
    git branch -a
  • 다음 명령어를 통해 원본 repository를 로컬 git repository의 원력 등록한다.

1
git remote add {repository_nickname} {pm의 git_url}
  • develop branch를 생성한다.

  • develop branch로 checkout 한다.

  • 다음 명령어 원본 repository를 full한다.

1
git pull {repository_nickname} {branch_name}
  • pull을 실행하면, 원본 repository의 내용을 가져와 자동으로 병합 작업을 실행한다.
    단순히 원본 repository의 내용을 확인만하고 로컬 repository와 병합하고 싶지 않은 경우 다음 명령어를 실행한다.

    1
    git fetch {repository_nickname}
  • 그 후 병합하고 싶은 경우에는 다음 명령어를 실행한다.

1
git merge {respository_nickname}/{branch_name}
  • 원본 repository에 있는 파일을 작업하고 add, commit, push 한다.

  • push를 할 때는 자신의 branch에서 push 한다.

    1
    git push origin {branch_name}
  • push를 하면 개발자가 fork한 github page에 compare & pull request 버튼이 활성화 된다.

  • 버튼을 클릭하고 메세지를 작성한 후 pm의 repository의 branch와 자신의 repository를 비교하여 자신이 보내는 위치의 branch와 보내려고 하는 branch를 확인한 후 create pull request 버튼을 클릭한다.

다시 pm 파트

  • github 페이지 repository를 확인하면 pull requests 탭에 숫자 1이 생겼을 것이다.

  • pull requests 탭을 클릭하면 개발자 commit 메세지를 확인할 수 있고 클릭을 하면 merge를 할 수 있는 화면이 나온다.

  • 이 화면에서 pm은 merge를 할지 말지 결정할 수 있고 개발자와 대화를 나눌 수도 있다.

  • merge 버튼을 클릭하고 confirm merge 버튼을 재차 클릭하면 merge가 완료 되었다는 화면이 나타난다.

  • 다른 화면으로 이동하면 pull requests 탭에 숫자 1이 사라진 것을 확인할 수 있다.

  • code 탭으로 이동하여 develop branch를 선택하고 파일을 확인해보면 개발자가 작업한 내용이 pm의 repository에 잘 merge 된 것을 확인할 수 있다.

Share