비기너 탈출 과제(TODO)
- main branch로는 push하지 말 것
- main은 develop branch에서만 PR을 통해 merge합니다.(Protection rules로 막아놨는데 혹시 모르니까...)
- main에 merge하려면 PR에서 1명 이상의 Approve가 필요합니다.
- 명령어 입력은 Android Studio의 Terminal을 추천합니다.(conflict 되었을 때 코드 수정을 편하게 하기 위해)
- 현재 Repository의 우측 상단에 fork 버튼 클릭
- 원하는 Repository name 설정
- Copy the main branch only 체크
- 체크하면 main branch만 fork(기본값)
- 체크 해제하면 Repository의 모든 branch를 fork
- 본인의 Repository에서 clone하여 개발
- 개발 완료 후에 add, commit, push
- 개인 Repository의 main(또는 원하는 Branch)에서 현재 Repository의 develop branch로 Pull Requests 생성
- 또는 현재 Repository에 feature branch를 생성하고 이쪽으로 PR 생성
- 현재 Repository의 main으로는 PR 생성X
설정을 하는 이유: 현재 Repository의 변경 사항을 본인이 fork한 Repository에 동기화하기 위해 설정합니다.
- git remote add {원하는 이름, 보통은 upstream으로 설정} https://github.com/원본사용자명/원본저장소명.git
- ex) git remote add upstream https://github.com/JaeYoung290/TODO.git
- git remote -v로 정상적으로 remote 되었는지 확인
- 1번은 처음 설정할 때만 실행하기
- 추후 현재 Repository에서 변경 사항을 적용하고 싶을 때는 2번부터 시작
- git fetch upstream 또는 git fetch upstream {가져올 branch 이름}
- git checkout {동기화할 본인 branch 이름}
- git merge upstream/{가져올 branch 이름}
- (만약 conflict가 난 상황이라면 코드를 수정한 다음에 add, commit 후에 5번 실행)
- git push origin {동기화할 본인 branch 이름}
- 현재 Repository의 Projects(TODO projects)에서 Item 생성
- Item 이름 설정
- [FEAT]새로운 기능, [BUG]버그 수정, [REFACTOR]코드 리팩토링
- ex)[FEAT]TODO 기능 구현
- Item 이름 설정
- Assignees는 본인을 설정
- Convert to issue에서 TODO Repository로 설정
- 우측 메뉴의 Development 항목에서 Create a branch 클릭
- Branch 이름은 상황에 맞게 설정
- ex) feature/내용, release/내용, fix/내용, hotfix/내용 등
- Branch source는 develop branch로 설정
- 본인이 clone한 repository의 Terminal에서 아래의 명령어를 순서대로 실행
- git fetch origin
- git checkout {본인이 설정한 Branch 이름}
- 개발 시작
- 개발 완료 후 add, commit, push
Android Studio의 terminal에서 진행할 것(코드 수정을 위해)
다른 브랜치도 방법은 같음(develop만 원하는 branch 이름으로 변경)
- git checkout develop
- git pull origin develop
- git checkout {충돌난 branch 이름}
- git merge develop
- 충돌 난 부분 해결
- 코드 수정 이후 add, commit, push
- 이후 다시 merge 진행