次に行うことは、新しい機能を提供したり、専用のブランチで他のバグを修正したりすることです(フォークにのみプッシュされます)。
つまり、フォークは残りますが、フォーク内のブランチは行き来できます。
これ以上貢献する予定がない場合は、フォークを削除することもできますが、「貢献するリポジトリ」の対応するエントリが削除されます。
次の方が簡単です。
- フォーク(およびローカルのクローンリポジトリ内:「ローカルとリモートの両方でGitブランチを削除する」を参照)でブランチを削除します
fix
(実際には、これで削除されます) 。
git pull upstream master
(master
修正が統合されたブランチの場合:マージは早送りになります):この時点でリベースは必要ありません。
master
更新されたローカル(現在はfrom )の上に修正ブランチを再作成しますupstream master
。
ただし、将来のプルリクエストを送信する前に、次の1つの手順を忘れないでください。
fix
最初に現在のブランチ( )をアップストリームの宛先ブランチからリベースします
(upstream
フォークした元のリポジトリです。「githubのオリジンとアップストリームの違いは何ですか」を参照してください)
元のリポジトリ(「アップストリーム」)に何かを送信する前に、作業が元のリポジトリの最新のものに基づいていることを確認する必要があります(または、プルリクエストが適用されると早送りマージになりません)リポジトリに戻るupstream
)。
たとえば、「githubの共有リポジトリでプルリクエストを管理するためのワークフロー」を参照してください。
言い換えれば、upstream
修正に忙しいときに進化する(新しいコミットをプッシュする)ことができます。コミットが最新のと互換性があることを確認するために、アップストリームからその最新の作業に加えて修正を再生する必要がありますupstream
。
OP Santosh Kumarはコメントで尋ねます:
私はマスターにプルしてマージしupstream
ました、今何ですか?
最近のプルリクエスト以降に新しい修正を行っていない場合は、上記を参照してください(fix
更新されたものの上に新しいブランチを削除して再作成しますmaster
)。
プルリクエスト以降にさらに作業を行った場合、新しいプルリクエストupstream
を作成する場合は、マージしません。プルしてリベースします。
git pull --rebase upstream master
そうすることで、将来のプルリクエストを統合するターゲットブランチであると想定して、すべての新しいローカル作業が最新のupstream
master
コミット(ローカルリポジトリでフェッチされた)の上に再生されます。master
次に、ローカル作業を''にプッシュできます。origin
これは、のGitHubのフォークですupstream
。
そして、GitHubのフォークから、upstream
マージ解決を必要とせずに新しいコミットのみを追加することを知っているので、プルリクエストを安全に行うことができます。これらの新しいコミットをリポジトリにマージupstream
すると、単純な早送りマージが意味されます。
git pull --rebase
(現在チェックアウトされている)ブランチをリベースするブランチを指定しないと、機能しfix
ません。
それ(git pull --rebase
)は言う:
You asked to pull from the remote '`upstream`', but did not specify a branch.
最後にマスターを追加する必要がありますか?そして、これは何をしますか?、それは私のfix
ブランチを削除しますか?
はい、プルリクエストのターゲットとなるブランチを指定できます(例:' master
')。
それはあなたのブランチを削除しませんが、あなたのリポジトリでフェッチされたfix
アップストリームの上にそれを再生します。master