2

説明が必要です。だから私は機能ブランチ(それを呼びましょうfeature/feature1)に取り組み、コミットしてリモートにプッシュしました。

git commit -m "commit feature1"
git push origin feature/feature1

それから私は新しい機能の作業を開始しましたが、新しい機能のブランチを開発、プル、作成するためにチェックアウトする代わりに、feature/feature1ブランチの作業を続けました。

変更を破棄したくないのですが、新しいブランチを作成し、すべての新しい変更をfeature/feature1ブランチから新しく作成されたブランチに移動するにはどうすればよいですか?ありがとう。

4

2 に答える 2

1

--ontoのパラメータを使用して、rebaseあるブランチから別のブランチにいくつかの変更を移動できます。ドキュメントでそれを行う方法の例があります、で始まるセクション

これは、rebase --ontoを使用して、あるブランチに基づいてトピックブランチを別のブランチに移植し、後者のブランチからトピックブランチをフォークしたふりをする方法です。..。

コマンドはおそらく次のようになります。

git branch feature/feature2
git reset --hard <sha1 of last commit of feature 1>
git rebase --onto <where you want branch to start> feature/feature1 feature/feature2 
于 2013-02-07T13:55:09.720 に答える
0

現在のコミットを含む新しいブランチを作成する場合は、を実行する必要がありますgit branch newbranchname。これにより、新しいブランチが作成されますが、古いブランチは変更されません。古いブランチから新しいコミットを削除したい場合、そのブランチがまだ公開されていない場合は、チェックアウトして実行できますgit reset --hard lastcommitid

于 2013-02-07T13:56:24.930 に答える