인프런의 강민철님의 모두의 깃 깃허브 강의를 참조하였습니다.
🙋🏻 일반적으로 내가 소유하지 않은 원격 저장소에 푸시할 수 있을까?
A) No!
🙋🏻 왜 푸시를 못할까?
A) 남의 프로젝트를 망칠 수 있기 때문이다.
🙋🏻 그러면 다른 원격저장소로 어떻게 푸시할 수 있을까?
A) pull request를 보내면 된다.
풀 리퀘스트란 "내가 당신의 원격 저장소를 이렇게 변경하고 싶은데 이 변경사항을 원격저장소로 pull해달라고 요청"인 것이다.
💁🏻 일반적으로 개발자들은 원격 저장소를 두고 협업을 진행할 때 pull request 방법을 통해서 코드를 논의하고 주고 받으며 협업을 이룬다.
pull request 방법에는 다음 순서로 진행한다.
위의 그림에 fork를 눌러 프로젝트를 복제해온다.
create fork를 눌러 fork를 진행한다.
그럼 위의 그림처럼 내 저장소에 원격저장소가 fork된 것을 볼 수 있다.
위의 소스트리로 와서 원격 탭에서 내가 fork한 프로젝트를 클론한다.
그러면 위와 같이 소스트리 화면이 나온다.
먼저 브랜치 버튼을 누르고 브랜치를 만든다.
그리고 해당 파일을 열어서 변경사항을 만들고 버전으로 만든다.
버전으로 만들면 위와 같이 나올 것이다.
위에 푸시버튼을 눌러서 브랜치를 푸시한다.
그러면 깃허브에 위와 같이 pull request 버튼이 생긴다. 이것을 클릭하면
작성한 커밋 메세지와 변경사항을 확인할 수 있고 create pull request를 누르자.
그러면 다음과 같이 성공적으로 pull request를 보낸 것을 알 수 있다.
그러면 원격저장소 주인이 머지를 해주면 내 깃허브에 아래와 같이 브랜치를 없앨것이냐 묻는다.
물론 계속 작업을 할 것이면 두는게 맞지만 일반적으로 바로 삭제해주는 것이 좋다.