すべてをリベース:gitのを行うとき、私は奇妙なconflitを取得なぜ
ログが似ているコミットマイ:
commit 1e17b836cce12d497ef86e5b2c45410c93caf3a2
add 4
commit cbf7e720313ef6c918a8d4117df007eabe2ef92b
add 3
commit 951f86964102e17cdf3e3c2978c1adf8d5cdfab7
add 2
commit a275ad4e6716b950d86ce8885d766bba803fc9e0
add 1
commit d14904ad7fa9142cbc38489d1d621d1a157aa0cd
init commit
基本的には、initはコミット空のファイルで、それぞれが、私は応じ持つ1行を追加してコミット数。
drop 951f869 add2
pick cbf7e72 add3
pick 1e17b83 add4
そして、それを保存します。今、私はそれを変更、私はリベースを修正するために私の履歴を示しgit rebase -i HEAD~3
使用する必要があります誰かが私に言った、私はそのadd 2
操作を除去するが、他の人を維持したいと言います。それから私は、競合エラーを得た:
error: could not apply cbf7e72... add3
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の差分を使用し、私が得た:ここ
diff --cc test
index 56a6051,5f5fbe7..0000000
--- a/test
+++ b/test
@@@ -1,1 -1,3 +1,7 @@@
- 1
++<<<<<<< HEAD
++1
++=======
+ 1
+ 2
-3
++3
++>>>>>>> cbf7e72... add3
私の質問は次のとおりです。
この衝突を計算取得する方法でる?私の4行はどこですか?このrebaseの競合はコンテンツを完全に破壊し、現在の競合ファイルに基づいて正しいコンテンツを解決する方法がない正しいdiffを示していません。
これにはどのような正しい方法がありますか?結果の出力を伴う1つのステップバイステップの例は高く評価されます。
ありがとうございます。私は何が起こっているのか理解した後、少し混乱しています。たとえば、最初の競合を取る: 'Add Third Line'からの変更なしに' Third Third Line 'コミットがどのように見えるのか行と他の人によって行われた3行目を追加する、私たちの例は簡単に伝えるが、実際には、それは多くの場所があります) – Kuan