コミットをいくつか一緒に「スカッシュ」する必要があります。Git、スカッシュリベースを「強制」する方法
git rebase -i HEAD~10
しかし、今、私は下のエラーを取得しています:あなたは私がすべての競合を解決git
ふりを見ることができるように
error: could not apply 2009972... fixes
When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort".
通常、私はこのような何かを行うために使用しています。さて、私はを望んでいません。は紛争を解決できません。
git
のようなものを伝える方法があります。「ねえ、私は何もマージしたくないです。このブランチのすべての追跡済みファイルを取ります。最後のコミット/ HEADに表示されるので、破棄/削除してください。最新の、そして最後に「新しいコミットとしてこれらのファイルを「適用」する前に、前回の10回のコミット:
たとえばが、これは全てのリストであると仮定すると、ハッシュをコミット:
1-2-3-4-5-6-7-8-9-10-11-12
、どこHEADポイント12へ
私はこの操作が2からすべてのコミットと呼ばれるものをスカッシュ/削除したいと思います。 git log
後の最終的な結果が与えるよう-11、含ま:前と操作後ファイルが同じでなければなりません
1-12
私は必要なものを得るためのコマンドは何ですか?
おかげさまで、私は--softについて忘れましたが、2番目の解決策に興味があります。彼らの正確なことと、あなたが「あなたのために働く」という意味を説明できますか? – Martin
はいそれらのコミットのいくつかはマージされています – Martin
戦略の説明については、マージ&リベース文書を参照してください:rebase -iは、パッチを順番に1つずつ再生し、 '-s theirs'は、新しいstate_を取る(すなわち、コミットrebaseが現在再生中である)。 – Useless