プロジェクトへのプルリクエストを開きました。メンテナーはそれを受け入れることに決めましたが、いくつかの内容を変更するように私に言いました。
どうすればいいですか?コミットハッシュを変更しないで保持する必要があるかどうか、どうすればできますか?
リクエストの対象となるブランチにさらにコミットをプッシュするだけです。プルリクエストはこれを選択します
Bをmasterにマージしたい場合
プルリクエストに1つのコミットがあり、git commit --amend
を使用して更新しました。次に、git Push -f
を使用して強制プッシュを実行したため、修正されたコミットが元のコミットに置き換わりました。プルリクエストは自動的に新しいコミットを取得しました。 (実際には両方のコミットが表示されていましたが、ページをリロードすると古いコミットが消えていました。)
したがって、一般的に強制プッシュは推奨されませんが、プルリクエストには役立ちます。誰かがあなたのコミットをベースにしている場合、変更後にリベースを行う必要があるため、お勧めしません。しかし、誰もレビュー中のプルリクエストに基づいて作業を行うべきではないため、この状況ではかなり安全です。
引き続き変更を加えて同じブランチにプッシュし続けると、洗練されたコミットが同じプルリクエストに追加されます(プルリクエストがマージされていない場合)。これにより、履歴が非常に乱雑になる可能性があります。
私が使用する代替ソリューションと手法は次のとおりです。
以下を実行して、プルリクエストを送信するリポジトリ(アップストリーム)およびブランチ(開発)から新しいブランチ(修正)を作成します。
gitブランチでアップストリーム/開発を修正
洗練されたコミットをこの新しく作成されたブランチに直接追加します。
git commit -m "メッセージ"
このブランチを独自の分岐リモートにプッシュします(Originという名前の場合もあります)。
github api を使用することもできます。
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
詳細なデータのリストは github developer doc にあります。
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9