Tech Stock logo Tech Stock

A라는 개발자가 Github에 자신의 리포지토리를 공개하고 있는 상황.

B라는 개발자가 A개발자의 리포지토리에 놀러갔다가 참여하고싶어졌다.

B는 A개발자의 리포지토리를 Fork떠서 자신의 리포지토리로 복사했다.

B는 복사해온 자신의 리포지토리 URL을 기준으로 clone 한다.

git clone 복사해온자신의 리포지토리에서 본 url

이렇게 B 는 fork -> 클론 을 하여
자신의 로컬 리포지토리에서 작업을 할 수 있게 되었다.

본격적인 작업에 착수하는 B

  • B는 프론트 개발자 이다.
  • 프론트만 전문적으로 작업한다
  • 그래서 프론트라는 이름의 브런치를 자신의 로컬에서 따로 따서 작업한다
git checkout -b Front

B는 빡쎄게 작업을 한다
.
.
이런저런 파일 추가
.
.
.
이런저런 파일 수정
.
.
.

작업이 모두 끝났다.

B는 자신이 작업한것을(브랜치) 다음과 같은 순으로 리모트리포지토리에 올린다.

  • 스테이징에 추가
  • 로컬커밋
  • 자신의 리모트 리포지토리에 푸쉬
git add .
git commit -m "블라블라 블라블라"
git push origin Front

푸쉬 진행시에 작업한 브랜치를 명시해준다

B는 자신이 작업하여 푸쉬한것을 확인하려고 Github에 접속한다.
문제없이 자신의 리포지토리에 올라왔고, Compare & pull request버튼이 활성화 되었다.

B는 자신이 작업한 브랜치를 A개발자가 적용해줬으면 한다.
B는 Compare & pull request를 누르고 추가 변경 사항을 적고 A에게 Pull Request를 한다.


Pull Request를 받은 A개발자는 내용을 꼼꼼히 살펴보고
B개발자가 추가 수정한 내용을 자신의 리포지토리에 Merge한다
A개발자는 B개발자에게 “오오 프론트 기능이 더욱 좋아졌네요 감사합니다”
라는 메세지를 남긴다

B개발자는 A개발자의 메세지와함께 A개발자의 리포지토리에 자신의 Pull Request가 적용(Merge)되었는지 확인한다.

문제없이 적용된것을 확인한 개발자 B는 이제 필요가 없어진 브랜치(Front)를 자신의 로컬에서 삭제한다.

git branch -d Front

이것이 가장 기본적인 풀리퀘의 흐름~~