Версии в индексе, помеченном 1
, 2
и 3
, имеют следующее значение:
- Файл, каким он был у общего предка двух коммитов, которые вы объединяете.
- Файл, который был в
HEAD
, т.е. ваш текущий коммит, когда вы сделали слияние.
- Файл в коммите, который вы пытаетесь объединить в
HEAD
.
Мой источник этой информации полезный раздел руководства git по разрешению конфликтов .
Вывод both modified
в git status
указывает, конечно, что файл был изменен по-разному двумя коммитами, которые вы объединяете с момента их общего предка.
Для меня довольно загадочно, почему вы не видите маркеры конфликта в файле, однако - что у BLOB-объектов есть разные имена объектов (хэши) в выводе git ls-files -s
, что означает, что побайтные байты они, безусловно, делают имеют разное содержание. Если вы довольны файлом в том виде, в каком он есть в вашей рабочей копии, вы можете просто сделать git add filename.js
, а затем git rebase --continue
. Тем не менее, в любом случае вы можете узнать, в чем заключались эти различия. Для этого я бы попробовал следующее:
git diff :2:filename.js filename.js
... который покажет различия между версией в HEAD
и вашей текущей рабочей копией. Точно так же вы можете попробовать:
git diff :3:filename.js filename.js
... чтобы увидеть разницу между версией, которая была объединена, и вашей рабочей копией.