2016-05-17 3 views
0

をコミット古い使用してマスターから分岐すると、そのようになっています。今Gitは - 私のグラフをコミットだとします

1 -- 2 -- 3 -- 4 
       | 
      master 

、私は#2をコミット使用してHEADから分岐したい、つまり私のようなものを持っていると思いますその

   branch 
       | 
       5 
       /
1 -- 2 -- 3 -- 4 
       | 
      master 

しかし、コミット#2のファイルの状態を反映するようコミットします。

これは可能ですか?

git checkout -b branch 
git cherry-pick hashOfSecondCommit 

かどうか:;

答えて

1

はあなたの新しい#2は、(これを防ぐ競合がマージされるかもしれない可能な場合に)行ったように同じ変更を含むようにコミットするかどうかに依存ありがとうあなたはすべてファイルが正確に、彼らは#2の時点で行った方法を見てみたい:

git checkout -b branch hashOfSecondCommit 
git reset --soft master 
git commit 

cherry-pickは別のコミットを "再生"し、reset --softは作業ディレクトリ(checkoutではなく)のファイルを変更せずに "アクティブ"コミットを変更します。

+0

ありがとうございました! git reset --softは私が探していたものです。 – Gilad

0

@AasmundEldhusetのgit cherry-pick以外にも、git rebaseを使うことができます。

それは新しいブランチに3と4を削除するには次のようになります。

関連する問題