2017-10-05 13 views
0

私は "git"という新しいgitブランチで数十回の編集を行いました。今、私はそれらの編集を分割して、 "パフォーマンスフロントエンド"、 "パフォーマンスログ"などと呼ばれるようにしました。現在の編集内容をいくつかの新しいgitブランチに分割する方法は?

私は考えています:を変更せずにのファイルを追加し、 、コミット、リピート。

これはできますか? Otは別の(確立された)方法がありますか?

+1

「編集」または「コミット」? – crashmstr

+0

あなたが「編集」と呼ぶものがコミットである場合、1つの方法は['git cherry-pick'](https://git-scm.com/docs/git-cherry-pick)を使うことです。 – axiac

+0

スプリットされたコミットのオプションを開いたままにすることは、これまで何もコミットされていません。もちろん、それがどのように動作するかは、現在のディレクトリにすべてをコミットすることができます。 –

答えて

1

現在のブランチでgit add/git commitを実行し、複数のコミットを作成できます(各コミットは、1つのブランチで考慮するファイルのセットに影響します)。次に、枝を作成し、@ axiacが示唆するようにcherry-pickを作成します。または、ブランチを作成し、各ブランチをチェックアウトし、関連するファイルをコピーします。新しいブランチをチェックアウトすると、パフォーマンスブランチの変更されたファイルが必ずしも表示されないため、作業ツリーを使用しない限り、これは難しくなります。

1

、あなたはさまざまな方法でそれを行うことができます。しかし、最も簡単なimhoは次のとおりです。

ブランチを再起動したときのコミットに戻します(no -hard!)。 これ以降、git statusで行った変更がすべて表示されます。

この後、お気に入りのgit gui(git add -i)を使用して、必要な変更のみを選択して、好きなように再コミットします。

または、必要なブランチを作成し、元のブランチからコミットを選んで(必要に応じて論理的に分けてコミットした場合)、不要な競合を避けるために順序を保持してください。

地獄、あなたもあなたの変更をコピーアウトし、あなたの出発点をチェックアウトし、それらをコピーし、それらをコミットすることができます。 (これはあまりgitベースではありません:D)他の方法もあります

これまでどおり、gitを使用すると、さまざまな方法でそれを行うことができます。

関連する問題