기초적인 git 협업 흐름

wonway·2024년 3월 19일
0
post-thumbnail

요약

원본 레포지토리 포크 > 포크된 레포지토리 클론 > 브랜치 생성 > 작업 후 PR

1. 팀의 GitHub 레포지토리(upstream)를 내 GitHub 계정으로 포크한다.

2-1. 포크된 레포지토리를 로컬 저장소로 클론한다.

git clone [내 GitHub 레포지토리의 URL]

내 GitHub 레포지토리는 클론하면서 origin으로 설정된다.

2-2. 원본 레포지토리를 "upstream"으로 로컬에 설정한다.

git remote add upstream [원본 레포지토리의 URL]

alias 설정 확인 : git remote -v
원본 레포지토리 : upstream
포크된 레포지토리 : origin

2-3. 나에게 배정된 브랜치가 있다면 그곳으로 이동

git checkout [mybranch]

3. 작업을 위한 새 브랜치를 생성하고 해당 브랜치로 이동한다.

git checkout -b mybranch-feat

4-1. 코드를 수정하고 변경 사항을 스테이징하고 커밋한다.

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

4-2. 내 GitHub 레포지토리의 해당 브랜치로 첫 푸시를 수행한다.

  • upstream tracking도 설정한다. 설정하면 이후 git push로 실행
git push -u origin mybranch-feat

4-3. 코드 작업이 끝나고, 내 GitHub 레포지토리에서 "Compare & pull request" 버튼을 클릭하여 Pull Request(PR)을 생성한다.

  • 원본 레포지토리를 대상으로 설정한다.

첫 PR 이후 upstream의 변경을 동기화하고 이후 작업 진행

요약

원본 레포지토리와 포크된 레포지토리 동기화 > 새 브랜치 생성 > 코드 작업 후 PR

sync 하기

  1. 직접 설정하기
    • upstream, origin을 동기화
    • github 계정끼리(upstream, origin) 바로 전달하지 못하고 로컬 저장소를 경유한다.
# 원본 레포지토리를 upstream 등록
git remote add upstream [코드잇 레포지토리 주소]
# 최신 코드를 적용할 로컬 저장소로 이동
git checkout mybranch
# upstream을 로컬 저장소에 pull하여 최신 코드 적용
git pull upstream mybranch
# 로컬 저장소의 최신 코드로 변경된 사항을 origin에 push
git push origin mybranch
  1. github 웹사이트의 기능 사용하기
    • upstream, origin을 동기화
# 포크된 레포지토리로 이동
# mybranch 브랜치로 이동
# sync 버튼 클릭

최신 변경 사항을 작업 브랜치에 병합 후 충돌 해결

  • origin, mybranch-feat merge
# 내 깃헙의 포크된 레포지토리는 최신화된 상태이다.
# mybranch-feat에 최신 코드를 병합하기
git checkout mybranch-feat
git pull origin mybranch
# 충돌이 발생하면 해결한다.
# 최신코드를 적용하고 충돌을 해결한 최종 결과물을 origin/mybranch-feat에 반영
git push origin mybranch-feat
# 또는 git push -u origin mybranch-feat 통해서 upstream tracking되어있다면
git push
  • origin/mybranch-feat 브랜치에 가서 PR 요청
# github 사이트에 접속해서 브랜치에 들어가 PR 요청을 보낸다.

참고
코드잇 스프린트 강의

profile
문제를 컴퓨터로 해결하는 데서 즐거움을 찾는 프론트엔드 개발자

0개의 댓글

관련 채용 정보