처음 회사에 들어왔을 때, 소수의 개발자들끼리 개발을 했었습니다. 그 때는 느끼지 못했던 pull reqeust의 필요성을 회사가 커지면서 점점 느끼고 있습니다. 버그 하나 고칠때마다 상상도 못한 이유로 또 코드를 고쳐야 하는 상황이 오니 pull request
가 간절해 졌습니다😂.
저희 회사는 bitbucket
에서 코드 관리를 해왔는데요. 현재 github
로 점점 옮겨가고 있습니다. 오랜만에 깃헙에 들어가니 UI도 뭔가 많이 바뀐것 같고 예전과 달라진게 있는것 같아서 pull request를 날리는 법부터 다시 알아보고 있습니다.
혹시나 저같은 분이 또 있을까봐 깃헙에서 pull request를 하는 방법을 글로 정리해서 남겨둡니다! 잘못된 정보가 있다면 댓글로 알려주세요!
저는 fork한 repository를 저의 레파지토리로 가져올거기 때문에 son-chaelin97을 클릭해줬습니다.
초록색으로 보이는 Code 버튼을 누르면 레파지토리 주소를 복사할 수 있습니다.
복사한 레파지토리 주소는 터미널에서 원하는 폴더에 아래와 같이 입력해서 클론해줍니다.
git clone <복사한 레파지토리 주소>
레파지토리를 클론하면, origin 이라는 이름으로 remote url이 설정되어 있습니다. git remote -v
라는 명령어로 확인하면 레파지토리가 주소가 origin이라는 이름으로 설정되어있는 것을 보실 수 있을 겁니다. 만약에 포크한 레파지토리가 아닌 원본 레파지토리를 클론한거라면 이미 remote가 되어있기 때문에 remote url을 또 추가해줄 필요가 없습니다. 하지만 포크를 했다면, 원본 repository에 코드를 push하기 위해 remote url을 추가해줘야 합니다.
git remote add <remote url 이름> <remote url>
remote url을 설정 상태를 확인하려면 아래의 명령어로 확인할 수 있습니다.
git remote -v
혼자 코드를 짜는 상황이면 pull request도, 브랜치를 만드는 것도 필요 없을 수 있습니다. 하지만 현업에서 함께 일하다 보면, 내가 만든 기능이 어떤 기능인지 다른 사람이 알 수 있도록 특정할 필요가 있고 또 master 코드와 내가 수정하고 있는 최신 코드를 나눌 필요도 있습니다.
예를 들어, 버그를 고치는 작업을 한다고 하면 bug-fix라는 branch를 만들어 코드를 고친 후 푸쉬하면 master의 코드는 과거의 코드 그대로 유지될 것이고 bug-fix 브랜치만 최신 코드가 될겁니다. 만약에 bug-fix 브랜치에서 수정된 코드가 사이드 이펙트를 발생한다고 해도 master에 코드가 남아있기 때문에 다시 이전 코드로 되돌리기가 쉽습니다.
이러한 이유들 때문에(이 이유 말고도 여러가지 이유가 있지만)현업에서는 branch를 만들어 작업한 뒤 다시 작업이 완료되면 삭제하는 식으로 진행하는 경우가 많습니다. 그러면 branch🚀를 만들어 봅시다!
터미널에 아래의 명령어로 branch를 만들어 주세요.
git branch <branch 이름>
branch list를 보고 싶다면 아래의 명령어를 입력해주세요.
git branch
명령어를 입력하면 이미지 처럼 branch list를 볼 수 있습니다. list를 확인하고 q
를 누르면 나올 수 있습니다.
터미널에 아래의 명령어를 입력해 주시면 branch를 이동할 수 있습니다.
git checkout <branch 이름>
첫번째 줄에 git checkout chaelin
을 통해 chaelin 브랜치로 이동한 것을 확인할 수 있습니다.
수정된 코드를 add, commit, push 해주세요.
add: add 다음에 온점(.)을 입력하면 add all을 의미합니다. 즉, 수정된 모든 파일을 add 하겠다는 뜻입니다. 몇 개의 파일만 add 하고 싶으면, git add 다음에 파일 이름을 입력해주면 됩니다.
git add .
git add <파일 이름>
commit: 커밋 메세지는 최대한 자세히 입력해 주세요. 사실 저희 회사는 gitmoji
를 사용하여 더 명확하게 커밋 메세지를 작성해주고 있습니다.
git commit -m "메세지 입력"
push:
git push origin <branch 이름>
push를 하고 나서 github에 해당 레파지토리에 들어가면 pull request 버튼이 활성화 되어 있을 겁니다. Compare & pull request 버튼을 클릭해 줍시다.
이제 메세지를 작성할 수 있습니다. pull request를 작성할 때에는 최소 3가지 정도는 써주는게 좋습니다.
console.log
가 수정 전 코드가 남아 있지 않은지 확인합니다.다 작성해 주었다면 Create pull request 버튼을 클릭해 주세요!
pull request를 날리는 이유는 무엇일까요? 바로 내 코드를 바로 푸쉬하는 것이 아니라 다른 개발자들과 공유하면서 잘못된 부분이 있는지, 수정할 부분은 있는지 미리 알기 위해서입니다. 이제 다른 개발자분들께서 코드를 읽어보고 리뷰를 달아주시면, 참고하여 코드를 수정해서 다시 푸쉬하시면 됩니다. 코드에 문제가 없고 좋은 코드라면 merge 권한을 가지고 있는 개발자분께서 merge👍 를 해주시겠죠?
마지막까지 깔끔하게 작업해 봅시다.
이제 여러분은 코드를 수정한 후 pull request를 날리고 머지까지 완료된 상태입니다. 더 이상 만들었던 브랜치는 사용하지 않을 겁니다. 사용하지 않을 브랜치는 삭제 시켜줘야겠죠. 아래의 명령어를 터미널에 입력해서 삭제시켜 봅시다.
git branch -d <branch 이름>
간단하쥬
이제 계속 6번부터 12번까지 무한 반복하면서 코드를 수정합니다...😇