본문 바로가기
깃허브

[Github] Github - Pull Request 기본

by sojung118 2024. 10. 24.

[Github] Github - Pull Request 기본


 

 

※ Pull Request 시나리오

  1. Github에서 하나의 저장소를 선택
  2. 로컬 저장소에서 새로운 브랜치 생성
  3. 내용 수정
  4. 수정된 내용을 로컬 저장소에 반영
  5. 로컬 저장소의 내용을 원격에 반영
  6. 원격에 반영된 내용을 pull-request를 요청

 

※ 로컬 브랜치

  1. 로컬 저장소에 사본을 생성
  2. 새로운 브랜치를 생성
  3. 새로운 브랜치에서 내용 변경
  4. 변경된 내용을 서버에 반영

 

※ 새로운 브랜치 생성

  • git checkout -b <branch-name>
  • git add .
  • git commit -m "커밋메시지"
  • git push origin <branch-name>  (서버에 반영)

 


 

 

※ Git 실습

 

초록색 code 버튼 클릭

  • 초록색 code 버튼을 클릭하면 나오는 HTTPS 주소 복사

  • git clone [복사한 HTTPS 주소 붙여넣기] 를 해서 저장소를 복사
  • hello-world 폴더로 들어가면 github에 있던 파일들 확인 가능
  • git branch -a 명령어로 어떤 브랜치들이 존재하고 origin 브랜치가 무엇인지 확인
    • 여기에서 origin으로 명명된 원격 서버는 main 브랜치

 

  • hello-world 내에 'helloguide' 라는 이름의 새 브랜치 생성
  • 파일은 여전히 README.md 파일 한가지

 

  • 새로운 내용을 반영하기 위해 파일 추가
  • GithubNewfile.txt라는 파일 1가지 추가

 

  • GithubNewfile.txt. 추가 후 ll 로 확인 시 추가된 파일 확인 가능
  • git status로 상태 확인 시 새로 추가된 파일이 add 될 필요가 있음을 확인
  • git add [새로 추가된 파일명] 으로 add 시키기
  • git commit -m "커밋 메시지 주기"
  • git status 상태 확인 : 더이상 커밋할 것이 없음을 확인

 

  • git log --oneline 으로 확인
  • git push origin helloguide
    • origin 이라고 명명된 원격 서버 (여기선 main) 에 helloguide 라고 명명된 브랜치를 push 하겠다는 뜻

 

  • Github 해당 저장소에서 바뀐 화면 발견 가능
  • Compare & pull request 클릭

 

  • helloguide 브랜치를 main 브랜치에 merge 할 수 있는 상태임을 확인 (Able to merge)
  • 로컬에서 넣은 메시지가 그대로 나와있음
  • description에 pull request에 대한 내용을 상세하게 작성할 수 있는 란이 있음

 

  • Merge pull request

 

  • main 브랜치 내용에 helloguide 브랜치에서 추가했던 GithubNewfile.txt가 올라옴을 확인 

 


 

 

◈ 로컬에서 내용을 변경시켰을때는?

→ GithubNewfile.txt의 내용을 변경시켜보자.

 

변경 전 변경 후

 

  • cat 으로 변경된 내용 확인
  • git status 명령어 시 GithubNewfile.txt가 Modified 됨을 알려줌
  • add 와 commit 을 함께 실행
  • git push origin helloguide
    • origin 이라고 명명된 원격 서버 (여기선 main) 에 helloguide 라고 명명된 브랜치를 push 하겠다는 뜻

 

helloguide 브랜치에서 변경된 GithubNewfile.txt

 

▶ main 브랜치에서의 GithubNewefile.txt는 아직 수정사항이 반영되기 전임

아까의 경우 없는 브랜치를 새로 생성하여 작업했기 때문에 그 브랜치에 대한 pull-request 작업이 자동적으로 됨

지금은 있는 브랜치에서 merge 해야 하는 상태이기 때문에 수동으로 해주어야함

 

 

  • helloguide 브랜치에서 Contribute를 눌러 Open pull request 해주기

 

  • 이 창에서 Files changed 버튼 클릭해서변경된 내용 확인해보기

 

  • 변경된 내용 확인 가능
  • 해당 창에서 간단하게 파일 편집도 가능
  • 변경 사항에 대한 Review를 작성할 수 있음
    • 새로운 내용이 의미하는것이 무엇인가요? 라는 리뷰 작성

 

  • 그 내용에 대한 리뷰가 달려있음을 확인

 

  • File changed 창에서 내용을 수정했을 시
  • Commit message 와 description 을 다시 줄 수 있고
  • 이번에는 새로운 브랜치를 만들어서 helloguide 브랜치로 넘기는 작업을 실행

 

  • 새로운 브랜치에서 수정한 내용을 helloguide 로 pull request
  • 이후 임시로 만들어둔 브랜치는 삭제하면 됨 (Delete Branch) 

 

마지막 helloguide에서 main 브랜치로 merge 하는 과정

 


 

최종 main 브랜치에 수정된 GithubNewfile.txt 확인