깃허브에서 compare&pull request를 하는 것의 의미? (참고로 로컬에서 git pull은 리모트에 있는 내용들을 가져와서 병합시켜주는 거임, pull 자체는 fetch & merge의 의미를 갖고 있음)
로컬에서 작업한 브랜치를 리모트에 푸시하면, 해당 브랜치를 리모트 메인에 병합되도록 요청하는게 pull request((pull request는 커밋이 추가만됨, 있던 커밋이 사라지진 않음)
ex) main 브랜치와 A 브랜치 모두 a.text파일 하나만 갖고 있고
main의 a.text
a
A브랜치의 a.text
a
bc
이런식일때 A브랜치를 깃허브에 푸시하고
pull request를 하면
main 브랜치의 a.text를
a
bc
로 바꿔줌

base 브랜치에 compare브랜치의 내용을 반영해서 merge해달라. (base브랜치의 내용이 바뀌는거지 compare브랜치는 아무것도 안 변함)
create pull request누르면

이렇게 뜲. 지금 base에서 merge막아놔서 안 되는 거임. 한명이상이 승인해줘야 머지가능(코드리뷰를 위해 이런식으로 많이함)
improve 과정
pull request에 들어가서

Request 요청 클릭하고

여기서 review changes 누르면

이렇게 뜲. 이제 이거보고 승인할거면 approve누르고 submit review 누르면 됨.
request changes는 내가 다시 승인하기 전까지 pull 절대 안 되게 하도록 하는 거임.