제공자에게 github에서 풀 요청을 리베이스하도록 요청하는 것이 맞습니까?


25

나는 상대적으로 인기있는 github 저장소를 유지합니다.

끌어 오기 요청을 병합하는 것이 좋을 때 나는 일반적으로 저자가 병합하기 전에 단일 커밋으로 리베이스하도록 요청합니다 (특히 여러 개의 작은 편집이 있었을 때).

이것은 좋은 자식 연습입니까? 이것이 허용되는 / 표준 GitHub 에티켓입니까?

따라서 몇 가지 이점이 있습니다.

  • 커밋 로그에서 깨끗한 커밋 기록을 얻습니다.
  • 커밋을 직접 변경할 필요가 없습니다.
  • 작품의 일부를 위임

몇 가지 가능한 단점 :

  • 이것이 좋은 에티켓인지 확실하지 않습니다
  • 이것이 좋은 자식 연습인지 확실하지 않습니다
  • 나는 일반적으로 이미 몇 가지 다른 변경 사항을 요청했습니다. 이것은 하나 더이며 기고자에게 낙담하고 싶지 않습니다.

1
이 방법으로 프로세스를 수행 할 때 나타나는 몇 가지 이점과 단점을 설명 할 수 있습니까?
Alex Feinman

1
고려해야 할 몇 가지 추가 이점과 단점. good : 모든 커밋이 빌드 가능하거나 완전한 상태를 생성 할 때 git-bisect 및 기타 리버설이 더 쉬워 지며이 방법은 간단한 방법입니다. 나쁜 점 : 간단한 커밋 메시지가 포함 된 작은 변경 사항이 대규모 커밋으로 롤백됩니다. EG "모퉁이 대소 문자를 수정하기 위해이 한 줄을 변경했습니다"는 "기능 foo 추가, 큰 변경 사항 목록 "으로 롤업 될 수 있습니다 . 이로 인해 특정 변경의 이유를 찾는 것이 조금 더 어려워집니다.
Gankro

1
표준 설정에 아무런 문제가 없습니다. 예상되는 것을 명확하게 밝히십시오. 예 : symfony.com/doc/current/contributing/code/patches.html 3 단계 : 아래로 스크롤하여 패치 제출
Cerad

6
@Granko : "리베이스"와 "단일 커밋으로 리베이스"는 두 가지 별개의 문제입니다.
Matthew Scharley

2
기고자에게이 작업을 요청하면 끌어 오기 요청의 분기를 git push -f?로 덮어 써야 합니까?
Flimm

답변:


16

Git에 관한 한, 단순히 브랜치를 병합하거나 병합하려는 최신 버전의 브랜치를 커밋 해야하는지 여부는 성스러운 전쟁입니다. Programmers.SE에서 빠른 검색을 수행 하면 더 나은 대화가 많이 있습니다 .

그 뒤에 에티켓에 관해서는, 실제적인 관점에서 이것을 다룰 수 있습니다. 다른 사람으로부터 오는 새로운 코드를 다룰 때는 항상 브랜치의 최신 변경 사항을 병합하거나 병합하기 전에 새로 변경하여 깔끔하게 병합하는 것이 가장 좋습니다. 코드를 작성하여 병합 / 리베이스 충돌을 처리 할 수있는 자격을 갖추 었습니다. 나는 개인적으로 그것에 문제가 없으며 다른 사람들의 요청을 항상 봅니다. 나에게 충돌이 없다면 git 자체가 적용 할 수있는 2 초 업데이트이기 때문에 종종 직접 수행 할 것입니다. 그러나 충돌이 있으면 항상 코드의 원래 작성자에게 직접 처리하도록 요청합니다.

또한 GitHub (최소한)의 CONTRIBUTING경우 PR 시도 위에 파일에 대한 링크를 표시 하므로 기대를 설명하기에 좋은 장소가되며 많은 프로젝트에는 최신 분기 만 병합한다는 내용이 포함됩니다.


실용주의를 토론에 가져다 준 +1 예, 그게 요점입니다. 대규모 풀 요청에서, 특히 특정 수의 커밋이 관련된 경우 복잡한 충돌을 해결하기가 매우 어려울 수 있습니다. 그것이 바로 원작자에게 차임하도록 요청해야 할 시점입니다. 쉬운 갈등은 문제가 아니며 결코 없었고 앞으로도 없을 것입니다.
JensG

1
댓글뿐만 아니라 실제로 답변을 제공하는 +1!
Pablojim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.