私は2つのブランチ、master
& feature
を持っています。マスターは、時々、ライブにすばやく行くために必要な小さな微調整を受け取ります。これらの調整が完了すると、master
はfeature
にリベースされ、機能が最新の状態に維持されます。不良リベースの後に導入された重複コミットを削除します
マスターで変更されたファイルは一般的にfeature
の開発の大部分とは関係ありませんが、複雑な3ウェイマージの競合が多数発生しています。
コミットログfeature
を調べたところ、問題はいくつか重複していることがわかりました。対話型のリベースで解決しようとしています。
私の質問は:
ので、私はちょうど私がそれを見て期待してどのように歴史の重複を削除し、基本的に構築することができ、これは問題に最適なソリューションです、としたら?また、重複するものは落とします、より高い(元のオリジナル)か、より低い(新しい重複)。 git rebase master -i
から取ら
要旨リスト:重複を削除するには
pick 0eb277c Commit A
pick ced2556 Commit B
pick 640e049 Commit C
pick b248ff7 Commit D
pick 9903094 Commit E
pick ebc279d Commit A
pick 313385b Commit F
pick 0d55178 Commit G
pick c8f09f9 Commit H
pick e877be3 Commit I
pick 9859aa0 Commit J
pick c3c8e0f Commit K
pick 8abc68c Commit L
pick 84a5c89 Commit A
pick 30570e4 Commit B
pick 937ff2f Commit C
pick 8e6d911 Commit D
pick 1dd3a09 Commit E
pick fe79288 Commit F
pick 9e790bb Commit G
pick 0924916 Commit H
pick 90d59d7 Commit I
pick ba06c55 Commit J
pick 7452fad Commit K ** Dupes end here** and features then has 30+ more commits.
pick d1dca3d Commit M
pick 6c85f76 Commit N
pick ad53b78 Commit O
pick f166471 Commit P
'git rebase -i HEAD〜x'を' x'に置き換えることができます。たとえば、 'git rebase -i HEAD〜3'のように、コミットの数を指定すると、最後に3つのコミットが得られます。保存するコミットと、削除するコミットを選択できます。 –
コミット0eb277cとebc279dは両方のコミットAとしてマークされていますが、明らかにそれらのsha1は異なっているため、それらは異なるコミットです。実際、sha1リストには重複したコミットはありません。 – Frodon
私は、大雑把に重複を意味し、コミットメッセージは同じであり、適用されるコードは同じです。しかし、それは複製され、新しいコミットとして保存されます。 – Kiee