GitHubプルリクエストの編集に関する私の回答に対するフォローアップの質問では、パッチファイルを適用する前に直接編集すると、元の作成者の作業の功績が認められるかどうかが尋ねられました。元の質問の一部ではなかったので、ここで新しい質問として質問します。
1 に答える
6
TL; DR
Gitは、作成者をパッチの作成者に帰属させ、現在のコミッターには帰属させません。ただし、この動作をオーバーライドできます。
Gitがメールボックスファイルのパッチを処理する方法
このgit am
コマンドは、メールボックスに保存されている一連のパッチを処理します。GitHubのプルリクエストの場合、各パッチファイルはmbox形式で保存された一連の差分です。GitはメールボックスのFrom行を解析して、コミットごとにGIT_AUTHOR_NAMEとGIT_AUTHOR_EMAILの値を決定します。
これが意味すること
個々のdiffハンクを手動で編集した場合でも、Gitは通常、Bobを作成者として扱い、あなたをコミッターとして扱います。これは一般的にRightThing™です。
しかし、それは確かに悪いカルマですが、技術的な観点からは、おそらくコミットからボブを完全に編集することができます。結局のところ、これは自分に合わせて変更できる単なるテキストファイルであり、メールボックスのFrom行を変更すると、Gitは各パッチを適用するときに、新しい値を使用して作成者フィールドに入力します。
これを行うことには確かに道徳的および法的な意味がありますが、問題は帰属についてでした。Gitはデフォルトでオーサーシップを適切に属性付けますが、制御は最終的にはあなた次第です。
于 2012-06-16T20:58:03.093 に答える