[Github] Github - Pull Request 기본
※ Pull Request 시나리오
- Github에서 하나의 저장소를 선택
- 로컬 저장소에서 새로운 브랜치 생성
- 내용 수정
- 수정된 내용을 로컬 저장소에 반영
- 로컬 저장소의 내용을 원격에 반영
- 원격에 반영된 내용을 pull-request를 요청
※ 로컬 브랜치
- 로컬 저장소에 사본을 생성
- 새로운 브랜치를 생성
- 새로운 브랜치에서 내용 변경
- 변경된 내용을 서버에 반영
※ 새로운 브랜치 생성
- git checkout -b <branch-name>
- git add .
- git commit -m "커밋메시지"
- git push origin <branch-name> (서버에 반영)
※ Git 실습
- 초록색 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 하겠다는 뜻
▶ 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)
'깃허브' 카테고리의 다른 글
[Github] Github Wiki and Page (1) | 2024.10.23 |
---|---|
[Github] Github 마크다운 (Markdown) (0) | 2024.10.23 |
[Github] Github 첫 시작 (생성 및 pull) (3) | 2024.10.23 |
[Git] GitHub Repository에 파일 업로드(push) 하는 법 (0) | 2024.08.06 |