협업 시작하기
- Git fork → clone으로 폴더 당겨오기.
- **“fork”**를 통해 원본 레포지토리를 가져와 내 레포지토리를 만든다.
- **“clone”**을 통해 fork한 내 레포지토리를 로컬에 가져온다.
- Git 클론으로 가져온 프로젝트의 Main 브랜치로 checkout
- 터미널에 명령어 입력 : “Git flow init”
- “git flow init -d” 명령어를 입력하면 엔터 난사할 필요없이 4번 과정이 자동으로 실행됨
- feature를 지정해주는 부분을 제외하고 엔터 난사 (명명 규칙 설정 글들이 주르륵 나옵니다. 엔터를 할 경우 default값으로 생성 규칙을 만드는 것입니다.)
- feature 설정이 나오면 “feature/<position>/<영어 네임>/”을 입력해줍니다. (이렇게 입력하면 앞으로 feature를 생성할 때마다, 입력해준대로 feature 브랜치가 생성됩니다.)
- 모든 과정이 끝나면 로컬 git에 main, develop 브랜치가 생성됩니다.
- develop으로 checkout 해줍니다.
- develop에 head가 있는 상태에서 “git flow feature start <기능 이름>”를 입력합니다.
- 그러면 위에서 입력했던 feature 값에서 <기능 이름>이 추가되어 feature 브랜치가 생성됩니다.
- ex → git flow feature start login → feature/backend/younghocha/login
- 작업을 합니다.
구글링 키워드 : “git flow 명령어”
깃 작업내용 commit 하기
feature 에서 기능 구현 중 commit이 필요한 경우
- 터미널에 git commit을 입력합니다.
- commit 명을 입력해줍니다.
- commit 태그는 다음과 같습니다.
- Feature: 특정 기능 commit
- Fix: 오타 수정
- Bugfix: 버그 및 에러 수정
- Docs: 문서 수정
- Refactoring: 리팩토링
- Remove: 문서 및 코드 제거
- Chore: 설정 파일, 빌드 파일 등 기본 파일 수정 시
- 예시는 다음과 같습니다.
commit message template
작업 내용을 commit 할 때는 다음 메시지 형식을 준수한다.
# 제목의 작업 내용은 해당 작업이 무엇을 했는지 한눈에 알 수 있도록 작성한다.
<type>: 작업 내용
# <type>: 로그인 기능 구현
## 제목 라인 아래에는 반드시 한줄의 공백이 들어가야 한다.
# 본문의 내용은 해당 commit 의 작업 내용을 적으며 둘 이상일 경우 - 로 구분하여 여러줄로 적는다.
- 폼 로그인 화면 제작
- 폼 로그인 아이디 및 비밀번호 검증 로직 작성
깃 feature pull & request 요청(PR)
feature 기능에서 수많은 commit이 이루어집니다. 그리하여 feature 작업이 완료가 되었을 경우에 해당 기능을 원본 레포에 merge하고 싶을 경우에 해당합니다.
-
로컬에서 작업 후 “add” -> “commit” -> “push”를 통해 내 레포지토리에 작업내용을 업로드를 해줍니다.(해당 과정은 본인의 레포지토리에 push를 하는 과정입니다.)
-
**“Pull Request”**를 통해 내 작업내용을 원본 레포지토리에 반영해달라고 요청합니다. 해당 과정은 다음과 같습니다.
- 본인 레포에 push를 수행하면 git hub의 Compare & pull request 버튼이 활성화 됩니다.
- 해당 버튼을 클릭하고 메세지를 작성해줍니다. 메세지 작성 룰을 아래에 있습니다.
- 메세지를 작성해주고 확인을 합니다.
- 원본 Repo에서 pull, request를 확인할 수 있습니다.
- 원본 Repo의 팀원이 코드리뷰를 마치게되면, 해당 pull request를 승인하고, merge를 하게 됩니다.
-
원본 저장소와 자신의 레포지토리를 동기화 해주어야 합니다.
-
동기화 명령어는 다음과 같습니다.
- main 당겨오기: git pull <레포지토리 이름> main <remote 별명>
-
기존의 브랜치를 삭제해줍니다. 삭제 명령어는 다음과 같습니다.
- 자신의 feature 브랜치 삭제해주기 : git branch -d feature/backend/younghocha/login
-
참고 사이트
- https://keepdev.tistory.com/19
-
Pull & Request 작성 룰
- 개요, 작업사항, 변경로직이 존재합니다.
- 참고자료 : https://github.com/innovationacademy-kr/42Swim/pull/85
깃 Work Flow
컴퓨터의 전원을 On 하고 어떤 작업을 할지 Flow 단위로 표현하겠습니다.
- 컴퓨터를 킨다.
- 에디터를 실행한다.
- 터미널을 킨다.
- 중앙 저장소에 새롭게 변경된 사항을 업데이트 해준다. 명령어는 다음과 같다.
git pull --rebase origin master
- 아마도 master(main)가 아닌 develop을 자주 당겨올 것으로 예상된다.
- rebase 과정 중 충돌이 발생할 수 있다.
- 진행하던 feature 브랜치로 이동하여 기능을 구현한다.
참고자료: