깃헙 협업 플로우
초기 세팅
- IntelliJ 새 프로젝트 생성
1.1. 프로젝트를 시작할 때 Create Git repository 관리하기를 체크했다면 git init 단계까지 완료된 것!
- github 홈페이지에서 repository 생성
git commit and push 선택 후 repository URL 입력해서 github과 연결
3.1. 이때 생성하는 Branch 명은 master 혹은 main으로 설정하고 Push
- github 홈페이지에서 master 혹은 main Branch에서 develop 혹은 dev Branch 생성
4.1. main은 배포용, dev는 개발 후 테스트용
- github 홈페이지에서 Settings - Default branch 에서 dev를 Default branch로 설정
5.1. 앞으로 pull을 할 경우 dev에서 불러옴
- IntelliJ 에서 Fetch 눌러 github에서 생성한 dev Branch를 Remote에 추가시키기
6.1. git Fetch : 원격저장소에 있는 변경사항들을 로컬저장소에 가져오기 전에 변경내용을 확인하고 싶은 경우에 사용
- Remote에 위치한 dev를 checkout해서 Local에 dev 추가시키기
작업하기
- 상단의 Remote - dev 로 이동 후
Fetch 및 Update Project 진행
- 상단의 Remote - origin - main -
New Branch from 'origin/main...을 클릭해서 새로운 branch 생성하기
1.1 이때 Branch를 추가로 생성하길 원하는 Branch로 이동한 후 Branch를 생성해야 한다.
1.2 즉, Local의 dev 혹은 github의 dev 위치에서 작업을 수행할 Branch 생성

- 작업을 수행할 branch로 checkout 후 작업 수행
- Commit은 개발, 수정 단위로 수행
3.1 push는 굳이 바로바로할 필요 없다.
업로드하기
- git fetch로 변경 내용 확인
- 내가 작업한 branch 내용을 Local dev에 추가
→ 작업한 branch로 이동 후 local-dev의 우클릭- update 클릭
- Github에 변경 내용이 있다면 최신화
3.0.1 (Local dev로 이동)
3.0.2 Update Project - merge ...를 눌러 원격 저장소의 변경 내용을 불러오기
3.1 변경 내용이 없다면 : 현재 Local dev 상태 = 최신 내역 + 내 커밋
TIP. 원격저장소의 변경 내용을 내가 작업한 Branch에 추가하는 방법
→ 내가 작업한 branch로 이동 후 remote-dev-우클릭 Pull into ~~ Using merge 클릭
⇒ 저장할 branch로 이동 → 가져올 branch에서 우클릭 후 → Pull into ~~ Using merge 클릭
- 충돌 확인
- github에 업로드 :
git commit and push or git push
- github 홈페이지에서 Pull Requset(상위 브랜치(dev) <- 내 브랜치) 요청
6.1 코드 리뷰 후 수락 or 거부
- squash and merge 를 통해 Merge
(squash and merge 가 Commit이 뭉쳐져서 확인에 용이함.)
7.1 delete branch 진행
- 상위 브랜치가 최신화가 되었는지 확인
- dev 에서 main 으로 Pull Request(merge)할 때는 rebase and merge를 이용
(리베이스 머지를 하면 앞에 스쿼시 머지한게 마스터에 1열로 보기좋게 쌓인다.)
properties 파일 원격에서 관리안되게하는법
- 터미널에 아래 코드 입력
git rm -r --cached application.properties
- .gitignore 파일에 아래 코드 입력
**/application.properties
GitHub 팀원들의 Approve를 받아야 Pull Request의 Merge가 가능하도록 만드는 기능 추가하기
- Settings - Branches - Protect matching branches - Require a pull request before merging - Require approvals - 인원 수 선택
