TL;DR

# 원격 저장소 데이터를 받아온다
git fetch origin

# develop 브랜치를 최신화한다
git switch develop
git rebase origin/develop

# 새 작업 브랜치를 생성한다 (create new-branch start-point)
git switch -c "DVT-#1" origin/develop

# 작업을 커밋한다
git add .
git commit -m "DVT-#1 이슈 제목"

# 푸시하기 전에 git 그래프를 꼬이지 않게 하면서 충돌을 사전에 방지한다
("DVT-#1") git fetch origin && git rebase origin/develop

# 작업을 푸시한다
git push origin "DVT-#1"

# PR이 머지된 후 뒷정리를 한다
git switch develop
git pull --rebase origin develop

#__로컬 브랜치 삭제
git branch -d <머지가 완료된 작업 브랜치>
#__원격 브랜치 삭제
git remote prune origin <머지가 완료된 작업 브랜치>

PR을 여러 개 올렸을 때 Git 그래프 꼬이지 않게 하는 팁

현재 여러 PR이 동시에 올라와 있습니다. 이걸 동시다발적으로 머지하면 깃그래프가 겹쳐지게 되겠죠?

그래서 머지하기 직전에:

# 원격 develop 최신화
$ git fetch --all 
$ git switch develop
$ git pull --rebase origin develop

# 작업 브랜치를 최신화된 develop 기준으로 리베이스
$ git switch <작업브랜치>
$ git rebase origin/develop

# 작업 브랜치를 최신화된 develop 기준으로 강제 푸시(코드 변화가 없다는 전제 하에)
$ git push origin <작업브랜치> --force

# 이 상태에서 머지를 하면 git 그래프 깔끔

위 작업으로 리베이스를 해주고 머지하면 git graph가 한줄로 예쁘게 나옵니다 ㅎㅎ

위 내용은 필수사항은 아닙니다. 알아두시면 도움은 되겠지만 스킵하셔도 됩니다~~

Github PR 협업 플로우

저장소 가져오기

  1. [@GITHUB] 공통 계정(ex. organization) 원격 저장소(Github repository)를 fork를 한다
    1. 공통 계정 원격 저장소는 upstream이라고 부른다
    2. 개인 계정으로 가져온 원격 저장소는 origin이라고 부른다
  2. 개인 원격 저장소를 로컬에 클론한다
git clone <개인 계정 원격 저장소 주소>
  1. 레포를 연결하기 위해 upstreamorigin을 설정한다
# 원격 저장소 정보 자세히 보기 (-v: verbose)
git remote -v

# 원격 저장소 설정하기
git remote add upstream <공통 계정 원격 저장소 주소>

# 설정 완료 예시
git remote -v
origin	[email protected]:datalater/dali2-test.git (fetch)
origin	[email protected]:datalater/dali2-test.git (push)
upstream	[email protected]:daliteam/dali2-test.git (fetch)
upstream	[email protected]:daliteam/dali2-test.git (push)
  1. 원격 저장소 데이터 가져오기
git fetch origin
git fetch upstream

# 또는 모든 리모트 데이터 한번에 가져오기
git fetch --all

# 잘 가져왔는지 확인 (git l 명령어는 alias 등록해야 한다)
git l --all

작업하기

<aside> 💡 이 부분은 fork하기로 했을 때 이해를 돕기 위한 설명입니다. 현재는 생략합니다 - 재영

</aside>