2016-11-24 13 views
0

Githubでプロジェクトをフォークしてコミットし、フォークにプッシュしてプルリクエストを行いました。すべての点で良いです。既存のプルリクエストからコミットを削除する

その後、私は引き続き、関係のないものにはすべてがプルリクエストに追加されることに気付かず、続けました。

私は自分のフォークで(別の支店などで)保存された変更を必要としますが、プルリクエストから最初のコミット以外はすべて削除する必要があります。これはどうすればいいですか?あなたがプル要求に切り替え、今

git stash 
git checkout -b unrelated-stuff 

答えて

3

まず、あなたがあなたの仕事を失うことはありませんを確認するためにコミットし、現在の作業ツリーがクリーンであることを確認した後、最後に新しいブランチを作成しますブランチ:

git checkout feature

そして、あなたが特定のコミットIDを指すように枝をリセットします(git logを介して、または任意のGUIアプリケーションを介してIDを検索します):

git reset --hard COMMIT_ID

あなたが好きなコミットを指して、ローカルfeature分岐を有していたら、強制的にプッシュすることがあり、そのブランチをサーバに:

git push --force

この時点では、上のプルリクエストサーバーには関連するコミットのみが含まれ、関係のない作業は依然としてunrelated-stuffブランチで使用可能です。

git stashの前に保存していない作業があった場合は、git stash popで戻すことができます。

他の人のローカルリポジトリを壊す可能性があるため、強制的に押すことは、gitでは非常に推奨されない操作です。プルリクエストのコンテキストでは一般的に大丈夫です(多くのレポオーナーは、レビュー後に清潔で整然としたときにのみPRをマージすることをお勧めします)。決して他の人がいる可能性のあるマスターや他のブランチ取りかかっている。

gitを理解して学ぶための素晴らしいリソースは、http://learngitbranching.js.orgです - あなたが興味を持っているかどうか見てください!

関連する問題