Етикет для редагування чийогось запиту на тягу


19

У мене є сховище в GitHub, до якого хтось надіслав запит на витяг з однієї єдиної комісії. Я хочу лише частково реалізувати його рішення і використовувати приблизно половину змін коду, які зробив користувач. Що мені робити в цій ситуації?

Створіть гілку його версії, потім поверніться і скопіюйте та вставте «старий» код, який я хочу зберегти з оригінальної версії, у другу комісію. Це може зробити різницю між комісіями вищою, ніж є насправді, і відкинути такі речі git blame.

Скопіюйте та вставте код, який я хочу зберегти від його фіксації, у новий, інший документ . Це означає, що він не отримує кредиту за свій цінний внесок у код.

Як і вище, скопіюйте частину його коду в новий комітет, але змініть автора зобов’язання на нього замість мене . Він технічно не написав точний код, який було вчинено, тому я не впевнений, чи це нахмурилося. Але принаймні він отримує атрибуцію тих рядків, які використовуються.


1
Пам'ятайте, що git розрізняє "автора" та "виконавця". Тож коли ви перепишете їхні зобов’язання, щоб вони містили лише те, що ви насправді хочете, вони все одно вважатимуться авторами. А ти, комітер.
Ян Худек

Відповіді:


36

Я б пішов із варіантом 4: поясніть учаснику, чому його запит на витяг не відповідає цілям проекту (і в ході цього дайте учаснику можливість пояснити, чому він вважає це так ) і попросіть його повторно подати нову версію, що містить лише ті зміни, які відповідають проекту.

Це має три переваги:

  1. Вам не доведеться виконувати роботу ;-)
  2. Доповідач краще зрозуміє ваші цілі, зробивши більш ймовірним, що майбутні внески не потребують змін
  3. Окрім збереження почуття власності, особа, яка вкладає внесок, визнається і визнана такою, що внесла корисний внесок. Все це змушує їх більше шансів продовжувати свій внесок

3
Класичний приклад соціального вирішення технічного питання.
Павло
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.