Programing

git 'pull request'가 'push request'라고 불리는 이유는 무엇입니까?

lottogame 2020. 2. 29. 13:36
반응형

git 'pull request'가 'push request'라고 불리는 이유는 무엇입니까?


지점을 공식 저장소와 병합하는 데 사용되는 용어는 '풀 요청'입니다. 변경 사항을 공식 저장소로 푸시하도록 요청하는 것처럼 보이기 때문에 혼란 스럽습니다.

푸시 요청이 아닌 풀 요청이라고하는 이유는 무엇입니까?


저장소에 코드가 변경되어 있고이를 대상 저장소로 이동하려면 다음을 수행하십시오.

  • "푸시"는 대상 리포지토리 ( git push) 에 변경 사항을 강제 적용하는 것 입니다.
  • "풀 (Pull)"은 git pull다른 저장소에서 변경 사항을 가져 오는 대상 저장소 입니다.

"풀 요청 (pull request)"은 대상 저장소에 변경 사항을 가져 오도록 요청하는 것입니다.

"푸시 요청"은 변경 사항을 푸시하도록 요청하는 대상 저장소입니다.


풀 요청을 보내면 공식 리포지토리 소유자에게 자신의 리포지토리에서 일부 변경 사항을 가져 오도록 요청합니다 (요청). 따라서 "풀 요청".


tl; dr 내가 푸시를 할 수 없기 때문에, 나는 repo 소유자에게 멋지게 요청을 할 것입니다.


누가 저장소에 코드를 푸시 할 수 있습니까?

누군가 (아마도 악하거나 교육받지 못하거나 알 수없는) 누군가 와서 여기에 말할 수 있다면 나는 이것을 이것을 당신의 마스터 지사로 밀고 모든 코드 HAHAHA를 엉망으로 만들었습니다! ?

분명히 당신은 그가 그렇게하기를 원하지 않습니다. 기본적으로 안전망이 설정되어 있으므로 아무도 리포지토리에 푸시 할 수 없습니다. 당신은 할 수 공동 작업자로 다른 사람을 설정 한 후 그들이 밀어 수 있습니다. 당신은 당신이 믿는 사람들에게 그러한 접근권을 줄 것입니다.

따라서 공동 작업자가 아니고 푸시하려고하면 권한이 없음을 나타내는 오류가 발생합니다.


그렇다면 다른 개발자가 어떻게 리포지토리에 푸시 할 수 있습니까?
모든 사람에게 액세스 권한을 부여 할 수는 없지만 다른 사람들 에게 ' 이 코드를 저장소로 가져 오도록 리포 소유자에게 요청'할 수 있도록 콘센트 / 입력 지점 을 제공하려고합니다 . 리포지토리에 액세스 할 수있게하면 포크로 포크를 만들 수 있습니다. 변경 사항을 자신의 포크푸시하십시오 . 일단 자신의 원격 저장소에 있으면 :

그들은 포크에서 끌어 오기 요청 을하고 업스트림 저장소의 소유자 (당신이 직접 푸시 할 수없는)는 끌어 오기 요청을 병합할지 여부를 결정합니다.


또한 반 관련 질문을 읽는 것이 좋습니다 .git push에서 정확히 어떻게됩니까? 왜 git push가 git merge처럼 간주되지 않습니까?


풀 요청 : 나는 당신에게 것을 도록 요청 합니다 .


다른 사람의 저장소에 무언가를 넣고 싶습니다.

본인은 해당 문제에 대해 밀거나 당길 수있는 권한이 없습니다.

소유자 / 협력자에게는 권한이 있습니다. 그들은 밀고 당길 수 있습니다. 밀 수 없습니다.

그래서 나는 그들에게 나에게서 당기기를 수행하도록 요청합니다. 이것은 간접적으로 그들이 내 푸시를 수락하도록 요청하고 있음을 의미합니다.

따라서 푸시 요청이 없습니다. 당김 만. 그리고 푸시 수락.

따라서 '풀'요청입니다. '푸시'요청이 아닙니다.


이러한 조치의 핵심은 "요청"이라는 단어입니다. 당신은 또한 "나는 당신이 내 일을하도록 요청했습니다, 당신은 받아들입니까?"라고 말하는 것으로 생각할 수 있습니다. - "풀 요청".

처음에는 약간 혼란 스럽지만 결국 의미가 있습니다.

참고 URL : https://stackoverflow.com/questions/21657430/why-is-a-git-pull-request-not-called-a-push-request



반응형