programing

Git에서 풀 요청을 보내는 방법

nasanasas 2020. 12. 27. 11:04
반응형

Git에서 풀 요청을 보내는 방법


최근에 SVN에서 Git으로 마이그레이션했습니다. LAN 네트워크의 한 시스템에 베어 저장소를 설정하고 다른 시스템에 복제했습니다. 이제 누군가가 변경 사항을 수행하고 커밋 할 때 우리는 풀 요청을 베어 리포지토리로 보낸 후 (말하거나 이메일 또는 기타 방법으로) 변경 사항을 살펴보고 베어 리포지토리로 가져 오면됩니다. GitHub).

인터페이스를 설치해야합니까, 아니면 Git 자체에 몇 가지 명령이 있습니까?


Git (소프트웨어)와 GitHub (웹 서비스)는 모두 "pull request"라는 개념을 가지고 있으며, 안타깝게도 정확히 같은 것은 아닙니다.

네이티브 Git

기본 Git request-pull명령에는 다음 한 문장 설명 이있는 매우 짧은 매뉴얼 페이지 가 있습니다.

표준 출력에 대한 두 커밋 간의 변경 사항을 요약하고 생성 된 요약에 지정된 URL을 포함합니다.

이것은 메일 링리스트에 게시하기에 적합한 변경 사항에 대한 간단한 요약을 생성하는 상당히 낮은 수준의 명령입니다. 다른 사용자는이 "풀 요청"에 게시 된 URL을 사용하여 변경 사항을 자신의 저장소로 수동으로 가져올 수 있습니다.

GitHub 풀 요청

사용하는 경우 GitHub의 웹 서비스를 하는 풀 요청은 완전한 기능을 갖춘 대화 형 협업 도구입니다. GitHub pull 요청에는 다음이 포함됩니다.

  • 개별 커밋 요약보다 변경 사항에 대한 더 자세한 설명
  • 프로젝트를보기로 선택한 사용자에게 자동으로 전송되는 알림
  • 다른 사람이 제안 된 변경 사항에 대해 의견을 제시 할 수있는 온라인 검토 인터페이스
  • 커밋에 대한 대화를 기록하기위한 토론 주석
  • 풀 리퀘스트의 중앙 관리로 손실되지 않습니다.

Linus 가이 두 기능의 상대적인 유용성에 대해 자신의 의견가지고 있다는 점은 주목할 가치가 있습니다.

결론

위에서 설명한 두 가지 "풀 요청"기능은 정신적으로 비슷하지만 구현이 완전히 다릅니다. 특히이 git request-pull명령은 GitHub에서 새로운 Pull Request를 생성하는 데 사용할 수 없습니다. "pull 요청"유형 기능을 지원하려는 경우 몇 가지 선택 사항이 있습니다.

  • GitHub를 사용하십시오. 이것은 확실히 최소한의 노력을 포함하지만 프로젝트가 공개되지 않은 경우 비공개 저장소를 호스팅하기 위해 GitHub에 비용을 지불해야합니다. 어떤 사람들은이 선택에 익숙하지 않을 수 있습니다.
  • Gerrit을 사용하십시오 . Gerrit는 다운로드 할 수있는 오픈 소스 서버 프로그램으로 GitHub에서 사용할 수있는 것과 유사한 많은 기능을 제공합니다. 특히 공동 코드 검토에 적합합니다.
  • 사용 git request-pull및 메일 링리스트. 이 방법을 사용하려면 메일 링리스트 메시지를 잘못 놓거나 잘못 처리하기 쉽기 때문에 엔지니어의 더 많은 규율이 필요합니다. 이 방법과 관련된 중앙 책임은 없습니다.

"풀 요청" 이라는 용어는 github 특정 용어 아닙니다 .

git request-pull 명령이 있습니다. 자세한 내용은 http://linux.die.net/man/1/git-request-pull 에서 읽을 수 있습니다.

좀 더 자세한 설명과 인터넷 검색을 저장하려면 다음을 참조하십시오.

이것은 새로운 기능 BTW가 아닙니다.

편집 : 이 대체 답변은 @Greg Hewgill이 원래 수락 한 답변이 다시 작성되기 전에 만들어졌습니다. 이것이 내가 찾고 있던 답변이기 때문에 게시했으며 github를 사용하여 necesarilly가 아닌 사용자에게 pull 요청을 수행하는 것에 대해 묻는 질문에 적합하다고 생각합니다 (예, git을 사용하는 모든 사람이 github를 사용하는 것은 아닙니다. 적어도 항상 그렇지는 않습니다). 이제이 차이를 명확히하기 위해 원래의 답변이 다시 작성되었으므로이 답변을 원래 기록 용으로 게시 한 방식으로 남겨 둘 것입니다.


이렇게하는 "git 방식"은 모든 개발자가 자신의 "원본"으로 서버에 자신의 공개 저장소 (모든 사람에 대한 읽기 액세스, 개발자 자신에 대한 쓰기 액세스)를 갖는 것입니다. 그리고 추가 "트렁크"(또는 "안정적"또는 당신이 부르고 싶은 모든 것)를 좋아한다면, 일부 또는 모든 개발자가 쓰기 권한을 가지고있는 베어 레포. 개발자는 공용 저장소에 저장소를 미러링하고 다른 개발자로부터 가져옵니다. 이렇게하면 아직 작동하지 않는 무언가를 공개 저장소에 푸시해도 걱정할 필요가 없습니다. (개발자는 테스트 브랜치로 이동하여 작동하는지 확인할 수 있습니다.) 안정적인 표준 브랜치가있는 경우 "트렁크"저장소로 푸시 할 수 있습니다.

참조 URL : https://stackoverflow.com/questions/6235379/how-to-send-pull-request-on-git

반응형