2016-11-16 12 views
0

私はshared_pictures_featureというgitブランチを持っています。このブランチには、ユーザーが写真をアップロードしたり、友人と写真を共有したり、写真を評価したりするための新しいファイルがあります。コードレビュー中に私の仲間の開発者の健全性を緩和するために、shared_pictures_featureブランチをPRレビューのために3つの別々のブランチに分割したいと思います。プルリクエスト用に別々のブランチに分岐する

各ブランチには、特定のサブ機能に必要な関連ファイルのみが含まれている必要があります。たとえば、upload_photos_featureブランチには、写真のアップロードを扱うshared_pictures_featureのコードのみを含める必要があります。ここで私の質問ですが、私はgitでこれをやりますか?これも可能ですか?

+0

どのようにあなたのコードがどのように構造化されているかという概念はありますか?個々の "ピース"を自分の別のコミットにチェックインしましたか?それとも、一緒に混乱しているのですか? – Kritner

+0

@Kritnerが言ったことをフォローアップすることは、あなたのコードはディレクトリで区切られていますか?コードの各関連セクションがディレクトリで区切られているようですが、私は間違って読んでいるかもしれません。 –

+0

どのファイルを各機能に入れるべきかは簡単に分かります。私の 'shared_pictures_feature'のすべての変更は、新しいファイルに関連しています。 shared_pictures_featureブランチからすべての新しいファイルをデコミットして、プルするためにプッシュしたいファイルを選択する方法がいくつかあることを期待しています。 – jason328

答えて

1

これを行うにはいくつかの方法がありますが、ここに私が示唆しているものがあります。

最初に作成して最初のブランチに切り替えます。

git checkout -b upload_photos_feature 

次に、分岐したところのコミットを見つけます。shared_pictures_featureをオフにします。私はそれを行う方法の詳細についてはthis StackOverflowの質問を読むことをお勧めします。次に、そのブランチのすべてのファイルをuncommitするためには、あなたがやりたいだろう:

git reset --mixed <parent commit of both branches> 

次のステップでは、関連するファイルをコミットすることになります。 upload_photos_featureブランチに必要なファイルを追加してコミットし、残りの部分はそのまま残してください。

これで元のブランチに戻って以前の状態に戻すことができます。

git reset --hard HEAD 
git checkout shared_pictures_feature 

ここで、新しいブランチごとにこれらの手順を再度実行したいと思うでしょう。 shared_pictures_featureで何かを失いたくないので、毎回新しいブランチを作成する最初のステップを実行するようにしてください。

+0

素晴らしい。私はこれを試し、結果を報告します。ありがとう! – jason328

+0

これは私のために働いた。ありがとう! – jason328

+0

問題ありません。助けになるのはうれしい! –

関連する問題