2017-06-29 4 views
1

複数のコミット(Release-X)を持つgitブランチで作業していました。今私は、特定のコミット(Release-Y)の後にすべてのコミットのための新しいブランチを作成するように求められています。私は特定のコミットで新しいブランチを作成することについての質問(および回答)を見てきました。しかし、もし私がしたら、コミット後のすべてのコミットを新しいブランチにコピーしますか?特定のコミット後にすべてのコミットで新しいブランチを作成する

特定のコミット(コミット-xなど)から新しいブランチを作成して、コミット後のすべてのコミットがこの新しいブランチにコピーされるようにするにはどうすればよいですか?これが行われたら、そのコミット-xが最後のこのブランチにコミット

おかげであるので

はまた、どのように私は、既存のブランチを変更できます。コメントに基づいて

EDIT

、それは私ができません必要なもののように見えます。既存のブランチの名前を変更することは可能ですか?その場合、そのコミット(Release-X1)で新しいブランチを作成し、既存のブランチの名前をRelease-Yに変更できますか?あなたの元の質問については

+0

あなたがそのような何かを探してコミットして使用Gitチェックアウトshacommit -b newbranch – karthick

+0

のSHAコードを取ることができますか? https://stackoverflow.com/questions/2816715/branch-from-a-previous-commit-using-git –

+0

@Andrésimilarはい、私が言ったように、私はそれらを見ました。しかし、私がこれを行うと、コミット後のすべてのコミットが新しいブランチにコピーされますか?それは私がやりたいことです – user3539959

答えて

0

難しいの

その種類のxの前と後のXコミットが同じファイルのファイル履歴を変更している場合。以下の点は、あなたが試みることができるいくつかのアイデアです。しかし、慎重にそれらをマージする必要があります。

しかし、元のブランチから新しいブランチを作成し、元のブランチに戻してみてください。その後、元のブランチから別のブランチを作成し、コミットする前にコミットを元のコミットに戻すか、最後の安定したブランチに到達するまでコミットを元に戻してください。

(または)

元のブランチから1つのローカルブランチ(LB1)を作成し、SHAにリセットしたいコミット。そして、マスターから別のローカル(LB2)を作成し、(LB2)に、元の枝からあなたが望むだけのコミットをマージ

あなたの編集の質問

についてははいあなたはどこnewbranchを作成する、ブランチ git checkout -b Release-x1 old_branchの名前を変更することができますそのコミットにロールバックするにはgit reset --hard shacommitを使用できます。

そして後藤oldbranch

git branch -m old_branch release_y 
+0

'oldbranch'から' newbranch'を作成し、 'oldbranch'でコミット-xに戻すとどうなりますか?それは同じことを正しく行いますか? – user3539959

+0

はい。しかし、理想的には元のブランチをそのまま残しておけばよいので、何かがうまくいかない場合は、同じことをやり直すことができます – karthick

関連する問題