これがGithubの典型的なワークフローです...
いくつかのプロジェクトのように->
fork it ->
git clone https://github.com/you/someproject
。
プロジェクトを開きます。あなたが見るものに似ていますが、いくつか変更を加えます。
feature-branch
(git checkout -b some-feature
)でのみ機能するように注意して、feature-branch
をGithubフォークにプッシュした後、upstream
メンテナでプルリクエストを行うことにしました。
メンテナは、何らかの理由でプルを拒否します。
例.. 上記のシナリオに一致する、私が送信した失敗したプルリクエストです ..
今typical、メンテナHADがマージされた場合プル...ワークフローは簡単です...私のローカルマシンでは、そのときに行っていたfeature-branch
のローカル変更をコミットします... git fetch --all
、git checkout master
、git pull upstream --ff-only
。次に、必要に応じて、その上で変更を再生します...
だが...
私のフォークへの変更を無理なく続けたいと決心した場合はどうなりますか...それでも、発生する変更を追跡+マージできるようにしたいですかupstream
?通常、私は機能ブランチを削除して、先に進みます。上流でマージできるmaster
ブランチを維持しながら、upstream
のHEAD
から「永続的に分離」しながらフォークの機能を維持するにはどうすればよいですか。
シナリオの使用に関係なく、これを行う方法を次に示します。
この戦略でうまくいくはずです。ただし、カスタムに基づいて機能ブランチで行ったすべての変更が上流のマスターに受け入れられるわけではないことに注意してください。