가정

<aside> ✅ - remote name이 origin이라는 가정

</aside>

1. (작업 시작 전) 브랜치를 새로 만들기

git fetch origin && git switch -c 브랜치명 origin/develop

2. (작업중) 열심히 작업을 진행한다.

3. (작업 완료) add, commit 을 한다.

git add .
git commit -m "커밋 메세지"

4. (작업 완료) push 전에 원격 상태를 로컬에 반영하기

git fetch origin && git rebase origin/develop
#rebase과정에서 충돌이 나면, 로컬에서 충돌 수정
#충돌 수정이 끝나면,
git add .
git rebase --continue

#만약에 원격에 충돌이 난 브랜치가 있다면 삭제하고 다시 push 하자
#(pr을 만들기전에만 사용, pr을 보낸 이후에 이렇게 하면 pr이 닫힘)
git push origin :브랜치이름

#(pr을 만들고나서는 이렇게)
git push origin +브랜치이름

#rebase과정에서 계속 문제가 발생하면 rebase 이전으로 돌아가자
git rebase --abort

#feature 브랜치에서 원격 develop을 pull해오고 충돌 수정

5. (작업 완료) 원격 feature 브랜치로 push

git push origin feature

6. (작업 완료) 원격에서 develop으로 pr 보내고, 팀원들 승인 후 merge

7. (merge 이후) 머지 완료된 브랜치 정리하기