협업 시작하기

  1. Git fork → clone으로 폴더 당겨오기.
    1. **“fork”**를 통해 원본 레포지토리를 가져와 내 레포지토리를 만든다.
    2. **“clone”**을 통해 fork한 내 레포지토리를 로컬에 가져온다.
  2. Git 클론으로 가져온 프로젝트의 Main 브랜치로 checkout
  3. 터미널에 명령어 입력 : “Git flow init”
    1. “git flow init -d” 명령어를 입력하면 엔터 난사할 필요없이 4번 과정이 자동으로 실행됨
  4. feature를 지정해주는 부분을 제외하고 엔터 난사 (명명 규칙 설정 글들이 주르륵 나옵니다. 엔터를 할 경우 default값으로 생성 규칙을 만드는 것입니다.)
  5. feature 설정이 나오면 “feature/<position>/<영어 네임>/”을 입력해줍니다. (이렇게 입력하면 앞으로 feature를 생성할 때마다, 입력해준대로 feature 브랜치가 생성됩니다.)
  6. 모든 과정이 끝나면 로컬 git에 main, develop 브랜치가 생성됩니다.
  7. develop으로 checkout 해줍니다.
  8. develop에 head가 있는 상태에서 “git flow feature start <기능 이름>”를 입력합니다.
  9. 그러면 위에서 입력했던 feature 값에서 <기능 이름>이 추가되어 feature 브랜치가 생성됩니다.
    1. ex → git flow feature start login → feature/backend/younghocha/login
  10. 작업을 합니다.

구글링 키워드 : “git flow 명령어”

깃 작업내용 commit 하기

feature 에서 기능 구현 중 commit이 필요한 경우

commit message template

작업 내용을 commit 할 때는 다음 메시지 형식을 준수한다.

# 제목의 작업 내용은 해당 작업이 무엇을 했는지 한눈에 알 수 있도록 작성한다.
<type>: 작업 내용 

# <type>: 로그인 기능 구현
## 제목 라인 아래에는 반드시 한줄의 공백이 들어가야 한다.

# 본문의 내용은 해당 commit 의 작업 내용을 적으며 둘 이상일 경우 - 로 구분하여 여러줄로 적는다.
- 폼 로그인 화면 제작
- 폼 로그인 아이디 및 비밀번호 검증 로직 작성

깃 feature pull & request 요청(PR)

feature 기능에서 수많은 commit이 이루어집니다. 그리하여 feature 작업이 완료가 되었을 경우에 해당 기능을 원본 레포에 merge하고 싶을 경우에 해당합니다.

  1. 로컬에서 작업 후 “add” -> “commit” -> “push”를 통해 내 레포지토리에 작업내용을 업로드를 해줍니다.(해당 과정은 본인의 레포지토리에 push를 하는 과정입니다.)

  2. **“Pull Request”**를 통해 내 작업내용을 원본 레포지토리에 반영해달라고 요청합니다. 해당 과정은 다음과 같습니다.

    1. 본인 레포에 push를 수행하면 git hub의 Compare & pull request 버튼이 활성화 됩니다.
    2. 해당 버튼을 클릭하고 메세지를 작성해줍니다. 메세지 작성 룰을 아래에 있습니다.
    3. 메세지를 작성해주고 확인을 합니다.
    4. 원본 Repo에서 pull, request를 확인할 수 있습니다.
    5. 원본 Repo의 팀원이 코드리뷰를 마치게되면, 해당 pull request를 승인하고, merge를 하게 됩니다.
  3. 원본 저장소와 자신의 레포지토리를 동기화 해주어야 합니다.

  4. 동기화 명령어는 다음과 같습니다.

    1. main 당겨오기: git pull <레포지토리 이름> main <remote 별명>
  5. 기존의 브랜치를 삭제해줍니다. 삭제 명령어는 다음과 같습니다.

    1. 자신의 feature 브랜치 삭제해주기 : git branch -d feature/backend/younghocha/login
  6. 참고 사이트

    1. https://keepdev.tistory.com/19
  7. Pull & Request 작성 룰

    1. 개요, 작업사항, 변경로직이 존재합니다.
    2. 참고자료 : https://github.com/innovationacademy-kr/42Swim/pull/85

깃 Work Flow

컴퓨터의 전원을 On 하고 어떤 작업을 할지 Flow 단위로 표현하겠습니다.

  1. 컴퓨터를 킨다.
  2. 에디터를 실행한다.
  3. 터미널을 킨다.
  4. 중앙 저장소에 새롭게 변경된 사항을 업데이트 해준다. 명령어는 다음과 같다.
    1. git pull --rebase origin master
    2. 아마도 master(main)가 아닌 develop을 자주 당겨올 것으로 예상된다.
    3. rebase 과정 중 충돌이 발생할 수 있다.
  5. 진행하던 feature 브랜치로 이동하여 기능을 구현한다.

참고자료: