2017-06-13 5 views
0

は私がそれらのそれぞれのための対話型リベースをしたいコミットコミットのリストを再構築するにはどうすればよいですか?

  • bb8d6cc3c7
  • aa213lk321
  • f0j9123r9j

を持っていると言います。私がこれを行うと考えることができる唯一の方法は、コミットごとにgit rebase -i 'commit_hash'を入力し、1つずつリベースを行うことです。

smtを一度にすべてリベースする方が簡単ですか? like

git rebase -i 'commit_hash_1' 'commit_hash_2' 'commit_hash_3'

+1

'Gitのリベースを習得するためにマージされます'は連続したコミットの範囲で動作します。コミットが連続していない場合、探しているコマンドは['git cherry-pick'](https://git-scm.com/docs/git-cherry-pick)です。 – axiac

答えて

1

これは、スカッシュしたいコミットのリストです。

1. bb8d6cc3c7 <- This is the HEAD or latest commit 
2. aa213lk321 
3. f0j9123r9j 

コマンド

git rebase -i HEAD~3シーケンス

で3つのコミット上記のすべては、あなたがpick bb8d6cc3c7に必要とsを入力することにより、他の二つのコミットをつぶすならば、それはスカッシュを意味します。

コミットが順番に行われていない場合はgit rebase -iを実行すると、エディタが開き、1つのコミットを選択して他の2つのコミットを選択します。

0

ウィール、masterブランチとsome-featureブランチがある場合。

誰かがmasterブランチを更新し、あなたがあなたのsome-featureブランチをリベースしたい場合は、...

だけ

git checkout some-feature 
git rebase -i master 

すべてsome-featureのコミットはブランチ

関連する問題