Git Contribution

협업을 위해 Git Workflow 개발 방식을 이용하고자 하였지만 대부분은 이를 사용해본 경험이 없었기 때문에 실제 협업에 앞서 9월 26일 아래와 같은 환경에서 협업에 대한 실습을 진행하였다.

실습환경

  • goorm IDE (Web IDE)

  • ubuntu 18.04 LTS

실제 osamhack2020 조직에서 작업하는 것과 동일하게 하기 위해 테스트 조직을 만들어 진행

실습 요약

git checkout develop
git branch feature/issue-1
// 작업후....
git add *
git commit
// vim 에디터
ESC -> i // 내용 작성
// 커밋 메시지 작성
ESC -> :wq! // 내용 저장
git push origin feature/issue-1
// PR요청 후 만약 머지되었다면

// 아래는 개인 저장소를 팀의 원격 저장소 내용으로 최신화 하는 방법
git checkout develop
git remote add upstream 팀 깃허브 리포지토리
git fetch upstream
git merge upstream/develop
git push origin develop

Goorm IDE 실습환경 구축

우선 실습을 위해 ide.goorm.io에서 컨테이너를 아래와 같은 설정으로 생성한다. 이때 인증 부분은 자신의 저장소에 저장된 github_test 리포지토리를 선택해야 한다. 또한 지금은 git 명령어 학습을 위한 튜토리얼이기 때문에 blank 프로젝트(ubuntu 18.04)로 생성하였다.

포크

아래의 저장소(팀의 원격 저장소)에서 우측 상단 fork를 눌러 자신의 깃허브로 저장한다.

실습 저장소 : Riyenas-Team-Test/github_test

팀의 원격 저장소 (Riyenas-Team-Test/github_test) → 포크 → 자신의 원격 저장소 (riyenas0925/github_test)

작업은 항상 자신의 리포지토리에서 작업한 다음 팀의 원격 저장소로 PR을 보내 팀의 원격 저장소에서 합쳐야 한다.

위와 같이 포크를 완료 한 다음 자신의 원격 저장소에 복사가 되었는지 확인한다.

팀 원격 저장소에서 포크한 리포지토리기 때문에 아래처럼 forked from으로 포크한 저장소임을 알려준다.

위에까지 했으면 깃허브 웹에서 할 일은 끝이다!

이제 추후에 Visual Studio Codespaces 에서 해야 할 Git Bash 사용법을 알아보자

클론

포크한 자신의 원격 저장소를 로컬에 저장해야 한다.

쉽게 말해서 깃허브 서버에 저장된 프로젝트를 자신의 컴퓨터에 다운받는 작업이라 생각하면 된다.

구름 IDE에서는 이미 프로젝트를 지정했기 때문에 자동으로 클론을 진행해줘서 따로 해줄 필요는 없다.

브랜치

git branch feature/issue-1
git checkout feature/issue-1
git add *
git commit
// vim 에디터에서 ESC → I 누르면 편집 모드 이때 커밋 메시지를 작성가능
// 전부 작성 했으면 ESC → :wq! 를 입력하여 저장한다.
git push origin feature/issue-1
// 위와 같이 작업하면 PR 보낼 준비는 완료 되었다.

브래치 이름에 대한 컨벤션은 아래 Git Workflow 참고

Git Workflow

PR 보내기

위에 작업을 한다음 팀 원격 저장소로 가면 아래와 같이 PR을 보낼수 있는 버튼이 생긴다.

저장소 최신화 하기

  • 우선 최신화 하고 싶은 메인 브렌치로 이동한다.

$ git checkout develop
  • remote를 이용하여 upstream이라는 이름으로 팀 깃허브 리포지토리를 추가한다.

$ git remote add upstream 팀 깃허브 리포지토리 주소
  • upstream(팀 리포지토리)에서 origin(자신의 리포지토리)으로 가져온다.

git fetch upstream
git merge upstream/develop
git push origin develop

Last updated