github 관리자가 작성자의 풀 요청을 다시 작성해야합니까?


44

나는 직업에 의한 프로그래머는 아니지만 코딩을하고 github을 사용했습니다. 나는 놀라운 상황이라는 것을 발견했습니다. 나는 자식에 매우 익숙하다.

나에게 영향을 미치는 (작은) 버그를 발견 한 프로젝트가 있습니다. 나는 그것을 찾아서 고치는 오후를 보냈다. 리포지토리를 포크하고 변경 사항을 커밋하고 풀 요청을 발행했습니다. "개발 브랜치로 병합"으로 종료 된 것을 확인한 후 모든 것이 제대로 된 것으로 판단했습니다.

나는 오늘 리포지토리를 탐색하여 브랜치를 제거 할 준비가되어 있었고 커밋이 관리자의 리포지토리로 병합 된 곳을 전혀 찾을 수 없습니다. 얼마 후 나는 그것이 커밋으로 추가되었다는 것을 알고 있지만, 저자는 더 이상 나이다.

내가 할 수있는 유일한 방법은 원래 저자를 제거하기 위해 rebase, amend 또는 다른 기록 다시 작성을 사용하는 것입니다.

이것은 나에게 매우 잘못된 것 같습니다. 최악의 경우,이 리포지토리의 작성자는 모든 사람의 커밋에 대해 신용을 얻은 다음 원래 기여자의 기록을 잃어 버립니다. 다시 한 번 작은 버그입니다. 저는 이력서를 직업적인 이력서에 사용하지 않습니다.

이것이 정상입니까? 그것에 대해 말해야합니까?

편집 : 일반적인 느낌은 내가 물어봐야한다고 생각하므로 오늘 아침에 그렇게 할 것입니다.

아래 요청에 따라. 확인하고 내 코드가 존재하며 작성한대로 주석이 정확하게 적용되었습니다. 커미터와 작성자가 모두 변경되었음을 확인했습니다. 내 변경 사항과 동시에 추가 된 변경 사항이 하나 더있었습니다. 한 줄로 패치와 다른 코드에 영향을 미칩니다. IE 한 줄 추가는 내가 수정 한 버그와 관련이 없습니다.

업데이트 작성자가 개발 지점을 유지 관리하고 자신의 마스터 지점에서 병합하려는 것을 원하지 않는 것 같습니다. 그는 합병을 피하기 위해 저의 약속을 다시 저술했습니다. 필자는 필요에 따라 커밋을 체리 픽, 리베이스 및 병합하는 데 강력한 원래 브랜치 b / c git의 많은 것에 대해 걱정하지 않았습니다.

이것은 github에서 전형적인가요?
패치를 적용 할 지점을 요청하기 위해 프로젝트 관리자에게 문의해야합니까?


7
코딩에 대한 윤리적 질문을 제기 +1 :) 이것이 기본 동작인지 확인하는 데 관심이 있다면, 관리자가이를 수행하는 데 약간의 추가 작업이 필요한 것 같습니다. 또는 풀 요청을 수락 한 후 관리자가 커밋을 약간 수정하면 이런 일이 발생합니까?
Sunil D.

그건 좋은 질문이야. 나는 github에 익숙하지 않아 정상적인 것에 대답 할 수 없습니다 . 그러나 -n 옵션을 사용하여 cherry-pick하고 수정 한 다음 커밋하는 것이 가능하다고 생각합니다. 효과적으로 저자를 변경합니다.

4
아마도 관리자가 변경 사항을 병합하지 않고 수동으로 적용했을 수 있습니다. 나는 관리자에게 부정직을 고발하지 않고 그것에 대해 물어볼 것을 제안한다.
Keith Thompson

6
명확하게 말하면, 그것이 변경된 "저자"입니다. 맞습니까? "커미터"가 아닙니까? 나는 코드 표절의 윤리와 관련하여 구별이 매우 중요하기 때문에 묻습니다.
Christopher

2
수정의 규모 (코드 라인)가 얼마나 컸는 지 또는 코드의 라이센스가 어떤지는 말하지 않았지만, 이는 또한 귀하의 저작권을 침해 할 수도 있습니다.
Jaydee

답변:


20

피할 수없는 경우에는 안됩니다. 내 경험상 너무 자주 발생하는 문제입니다. 그러나 신용을 도용하려는 사람보다 git을 올바르게 사용하는 방법에 대한 무지와 관련이 있다고 생각합니다.

  • 주 지사에 적용하기 전에 변경 사항을 수정하려는 경우 변경 사항에 대한 지사를 쉽게 만들 수 있습니다. 그런 다음 자신의 커밋을 추가하고 지점을 병합 할 수 있습니다.
  • 풀 요청이 최신 버전의 기본 지점을 기반으로하지 않는 경우을 발행 할 수 있습니다 git rebase master. 충돌이있는 경우 작성자를 변경하지 않고 충돌 자체를 수정하거나 수정할 수있는 기회를 제공 할 수 있습니다.

나는 Github이 이런 종류의 우발적 신용 도용을 찾아 내고 필요할 때 모범 사례에 대해 관리자를 교육 할 수 있다고 생각합니다.


6

여기에 몇 가지 주요 정보가 빠져 있습니다.

  • 버그를 "수정"한 방식으로 유지 보수 담당자가 원하는 것이 아니거나 자체 버그가 도입되었다고 잘못 판단한 경우, 유지 보수 담당자는 커밋하기 전에 작업을 편집해야 할 수도 있습니다. 이 경우 저자를 변경하는 것이 이해됩니다.

  • 다른 사람들이 언급했듯이 저자커미터와 상당히 다릅니다 . 이미 알고 있듯이 저자는 실제로 커밋을 만든 사람이고 커미터는 해당 커밋을 적용하는 사람입니다.

커밋을 면밀히 검토하고 발견 한 내용으로 질문을 업데이트해야합니다.


1
나는 이것을 확인하러 갔다. 패치에 대한 변경 사항이 없습니다. 이전에 한 줄만 변경되었으며 동시에 추가 된 패치와 관련이 없습니다.
user1585512

3

대답은 저자가 개발 브랜치를 유지하고 자신의 마스터 브랜치에서 병합하는 것을 원하지 않는 것 같습니다. 그는 합병을 피하기 위해 저의 약속을 다시 저술했습니다.


12
그런 다음 사용 했어야합니다 git cherry-pick.
svick

3

업데이트 된 질문에 대답하려면 :

일반적으로 모든 프로젝트가 다르고 각각 자신이 선호하는 워크 플로우를 가지고 있다는 것 외에도 github의 일반적인 것을 말하기는 어렵습니다. 일반적으로 풀 요청을 보내기 전에 가장 좋은 방법은 워크 플로가 무엇인지 묻거나 이전에 닫힌 풀 요청을 기반으로 알 수 있는지 확인하는 것입니다.

내 개인적인 경험은 당신이 묻지 않으면 일반적으로 그들은 의견없이 풀 요청을 끝내는 것입니다 (최악의 경우). 나는 당신의 경우에 관리자가 처리하는 방식이 이상하게 보일 것이라고 말하지만, 그것들에 대한 저항이 가장 적은 경로 일 수도 있습니다. 그래도 신용을 도용하려는 의도는 의심 스럽다.

관리자에게 풀 요청을받는 방법을 설명하고 향후 혼란과 신용 부족을 피하기 위해 분기에 대해 설명하는 문서를 추가하도록 요청하는 것이 좋습니다. 사람들이 프로젝트에 참여하는 경향이 더 커지므로 더 많은 프로젝트가이 문서를 제공하기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.