기본적인 Pull request 순서
- 기여하려는
repo
를 본인 계정으로fork
fork
한 저장소를clone
- branch 생성 후, 생성한 branch에서 작업
- 작업한 branch를
push
- Pull request 보내기
연습에 사용한 리포지토리는 여기.
repo
를 본인 계정으로 fork
fork
한 저장소를 clone
클론을 하기 전에, 리포지토리를 클론할 로컬 저장소(=내 컴퓨터)의 위치부터 지정해준다.
$ cd ~
그런 다음, git clone ~
키워드를 사용하여 포크된 리포지트로리를 클론.
$ git clone https://github.com/{내 깃헙 아이디}/{리포지토리 이름}.git
$ git clone https://github.com/jungeun5-choi/collaboration.git
Cloning into 'collaboration'...
이제 클론한 리포지토리에서 작업을 이어서 해야한다. 그러기 위해서는 현재 위치도 복제(클론)된 리포지토리가 있는 로컬 저장소 위치로 이동해주어야한다.
$ cd {이동할 로컬 저장소 위치}
$ cd collaboration
아래는 브랜치 생성과 동시에 생성된 브랜치로 이동시켜주는 명령문이다.
$ git checkout -b {생성할 브랜치 이름}
$ git checkout -b jungeun5choi
Switched to a new branch 'jungeun5choi'
브랜치로 이동했다면 이제는 파일을 수정해주면 된다. 여기서는 Index.html
파일을 수정하려고 한다. 파일 수정에 사용되는 명령문은 다음과 같다.
$ vi {수정할 파일}
$ vi index.html
그러면 edit mode
로 화면이 전환되는데, i
키를 눌러 내용을 수정하고, esc
버튼을 눌러 편집화면을 빠져나간 다음, 아랫 줄에 :wq
를 입력해 수정된 내용을 저장한다.
push
변경된 내용을 push
하려면 먼저 commit
을 해야한다. commit
을 하기 위해서는 수정된 파일을 add
키워드를 사용해 stage
에 올린다.
$ git add {commit에 포함시킬 파일}
$ git add index.html
파일이 스테이지에 무사히 올라갔다면 commit
해준다. 아래는 커밋과 동시에 커밋 메세지를 등록해주는 명령문이다.
$ git commit -m {커밋 메세지}
$ git commit -m "add jungeun5-choi"
[jungeun5choi 12ef798] add jungeun5-choi
1 file changed, 2 insertions(+), 1 deletion(-)
commit
이 문제없이 완료되었다면 원격 저장소(GitHub)에 커밋한 내용을 push
한다. clone
을 통해 로컬 저장소를 생성하였다면, {저장소 이름}
은 주로 origin
이라고 한다.
$ git push {저장소 이름: origin} {브랜치 이름}
{브랜치 이름}
은 잊지말고 꼭 작성해주자!
$ git push origin jungeun5choi
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.... (후략)
push
까지 문제없이 마쳤다면, GitHub로 돌아가 Compare & pull request
버튼을 눌러 pull request를 진행한다. [사진출처]
pull request
가 수락되어, merge
가 완료되면 이런 화면을 볼 수 있다.