Programming/이것 저것 조각보

[깃허브] Git Hub의 Pull Request (과제 제출) 및 commit 하는 법!

감귤밭호지차 2022. 11. 7. 16:18

계속 Git HUB 이용하는데 너무 어려움이 많아서 한번에 보기 쉽게 정리해보았습니다.

저와 같이 힘들어하는 사람이 있다면 도움이 되길 바라며 추가적으로 알게 된 사항들은 지속적으로 업데이트 하도록 하겠습니다. 

 

## Pull Request (과제 제출) 하는 방법

우선 Pull Request를 하기 전에 선행되어야 할 사항들이 있다. 보통 과제를 git으로 제출하기 위해서는 저장소를 fork 하고 clone해야 하는데 이 방법에 대해서는 이 " 링크 : 과제를 위한 git 저장소 fork & clone 방법 "에 정리해두겠스비낟. 

 

저장소를 fork 하고 clone을 완료 했다면 이제 (저 같은 경우는 Java Script를 사용하니까) Visual Studio Code프로그램을 열고 해당 git 폴더를 열어주면 됩니다. 요즘 VS는 코드 수정이나 변경 사항이 발생하면 VS에서도 git으로 업로드를 할 수 있게 해두었다는데 이 방법은 어색해서 사용하지 않았습니다. 저는 CMD 창git desktop 프로그램을 사용해서 쉽게 과제를 PR하고 commit해보도록 하겠습니다. 

 

 * git desktop 다운로드  링크 

 

 


 

 

1. CMD창을 열고 fork한 저장소를 내 로컬 저장소(컴퓨터)로 clone하기 위해 다음과 같이 입력합니다. 

 

> git clone https://github.com/본인 git hub 아이디/저장소 아이디 = 주소.git

 

여기서 저장소 아이디는 내 git hub 페이지에서 과제 제출 사이트에서 Fork 함으로써 생성된 새 레포지토리의 주소입니다.

아래 사진의 빨간 박스를 복사해서 ' git clone ' 뒤에 바로 붙여주면 됩니다. 

 

 

🍀1단계가 끝나면 내 PC에 즉 로컬 저장소에 새로 만든 repository가 생기게 됩니다. ( 파일도 확인할 수 있어용)

 

  

 

2. 기능 구현을 위해 branch를 생성  : CMD 창에서 다음과 같이 입력합니다.

git은 서로 다른 작업을 하기 위한 별도의 공간을 만들기 위해 branch를 생성합니다.

 

> cd 저장소 아이디( =주소 )         // 우선 만들어진 새 저장소로 이동해야 거기서 branch를 생성할 수 있습니다!
> git checkout -b 본인 아이디

 

 

 

3. Visual Studio Code 에서 해당 폴더를 열어주고 README파일을 수정해봅니다. 이것 저것 작성해보았습니다.

 

작성이 완료 되었다면 VS 에서 변경한 내용을 내 로컬 저장소에도 적용을 하고 완벽한 과제 제출을 위해  원격 저장소에도 적용을 해봅시다.

 

 

 

 

4. 저는 " git desktop " 을 이용해서 로컬 저장소와 원격 저장소에 PR하도록 하겠습니다. 

Add existing repository
Choose를 통해 위에서 새로 만들어준 repository선택하기

그럼 짜잔! 다음과 같이 수정한 부분이 표시된 곳이 나타났습니다!!

 

만약 cmd 창을 이용해서 로컬 저장소에서 변경한 부분을 원격 저장소로 보내고 싶다면 다음과 같은 순서를 따라 주세요. 

[1] git add ( 내가 수정한 파일 이름 ex. index.js  )
     ** src 폴더 안에 파일이 있다면 반드시 경로를 표기해주세요. 
     ** 수정한 파일을 일일히 업로드 하지 않고 한번에 올리고 싶다면  git  add  *  을 사용해주세요. 
     ** 가끔 -f 사용해서 업로드해달라 어쩌구 저쪼구 cmd 창에 나오기도 하는데 그럴 때는 당황하지 마시고 
         git  add  -f  *  이렇게 작성해주시면 됩니다. 



[2] git commit -m " ( 작성하고 싶으신 commit 내용 ) "
     ** 반드시 " " 안에 comit 내용을 작성해주세요. 


[3] git push origin main( or 브랜치이름 )
        ** 완벽하게 원격 저장소에 반영이 되었습니다. ~ 끝 ~ 

 

 

 

5. 이제 여기서 github commit 규칙에 맞추어 작성해주고 "Commit to Emma-Hyejin"을 클릭합니다.

이 단계에서는 로컬 저장소에만 변경 된 내용을 적용한 상황입니다. 완벽한 과제 제출을 위해서는 원격인 github.com저장소에도 반영해주어야 하는데 이를 위해 오른쪽의 push origin 단계로 이어집니다.

6.  오른쪽 사진과 같이 새롭게 나타난 "push origin" 버튼을 눌러줍니다!. 이는 cmd 창에서 아래의 push 명령어를 사용하는 단계와 동일합니다.

< cmd창 >
git  push  origin  브랜치이름
ex. git  push  origin  Emma-Hyejin

 

 

 

 

 

7. "push origin"을 눌러주었더니 "Create Pull Request" 라는 새로운 버튼이 생성되었습니다. 과제 제출까지 거의 다 끝나갑니다. 

 

 

 

Create Pull Request 버튼이 생성될 때 우리의 git hub 페이지에서도 아래와 같이 PR을 하겠냐는 제안이 나타납니다. 웹 페이지에 나타난 버튼을 눌러도 되고 git desktop의 버튼을 눌러도 상관 없습니다.

 

 

 

 

 

8. 드디어 과제 제출을 위한 Pull Request 화면이 나타났습니다. 각자 알맞은 과제 제출 제목을 작성하고 "Create Pull Request"버튼을 눌러줍니다. 

 

 

 

 

 

 

드디어 과제 제출을 위한 첫 스탭이 끝났습니다. 이제 기능 요구 사항에 맞추어 코드를 작성한 후 git desktop을 이용해서 쉽게 commit 할 수 있습니다. 

 

 

 

git hub를 통한 과제 제출 및 commit을 할 때 문서 제목이라고 해야할까요? 목록?을 작성할 때에는 규칙이 있다고 합니다. 저도 1주차 과제 제출때에는 마음대로 적었더니 확실히 다른 사람들에 비해 가독성이 매우 떨어졌습니다.

 

이 부분에 대해서는 따로 링크 : github commit 규칙 및 README파일 꾸미기 에서 정리해두도록 하겠습니다. (아직 생성x)

 

고쳐야 할 부분이 있다면 언제든지 댓글 요청 드립니다!