Разрешите конфликт на тяге в Атоме - PullRequest
0 голосов
/ 01 мая 2018

Когда я тяну и возникает конфликт в Atom, файл с маркерами конфликта и отсоединенной ветвью не создается.

После того, как я разрешил конфликт, я застрял. Я пробовал "Создать отдельный коммит", но как это сделать? Когда я возвращаюсь к мастеру и нажимаю, git все еще говорит, что кончик моей текущей ветви находится позади пульта. Когда я тяну, он говорит

It seems that there is already a rebase-apply directory, and
I wonder if you are in the middle of another rebase.  If that is the
case, please try
    git rebase (--continue | --abort | --skip)
If that is not the case, please
    rm -fr "C:/Users/ststolz/git/test/.git/rebase-apply"
and run me again.  I am stopping in case you still have something
valuable there.

Когда я сейчас пытаюсь git rebase --continue в командной строке, git говорит:

No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

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".

Я также попытался перебазировать отделенную ветку в master. Здесь я также получаю сообщение «Кажется, что ...». При выполнении git rebase --continue в отделенной ветке я снова получаю сообщение «Без изменений - вы ...».

Как мне решить эту проблему в Atom? У меня нет дальнейших идей.

Шаги для воспроизведения:

  1. Клонировать новый проект в двух разных каталогах D1 и D2
  2. Создать текстовый файл с текстом "ab"
  3. Потяните это в обе директории D1 и D2
  4. Измените "ab" на "a_b_" в D2 и зафиксируйте с помощью 'make b cursive'
  5. Измените "a_b_" на "a**_b_**" в D2 и зафиксируйте с помощью 'make b bold'
  6. Push Changes
  7. Измените "ab" на "_a_b" в D1 и зафиксируйте с помощью 'make cursive'
  8. Измените "_a_b" на "**_a_**b" в D1 и зафиксируйте с помощью "make bold"
  9. Push Changes
  10. Потяните из-за конфликта
  11. Разрешить конфликт, чтобы получившийся текст был "**_a_****_b_**"
  12. Теперь я застрял, как описано в тексте выше

1 Ответ

0 голосов
/ 02 мая 2018

Без изменений - вы забыли использовать 'git add'?

Похоже, вы разрешили конфликты и удалили все локальные изменения. Это то, что вы действительно имели в виду? Если это так, то позвоните git rebase --skip, как он предлагает.

Редактировать: следуя вашему описанию - вы перебазируете (?) 2 коммита A1 и A2, которые редактируют "a".

  • Сначала просто добавляет cusrive в a, и это конфликтует.
  • (я полагаю) на этом этапе вы отредактировали его до **_a_****_b_**, добавили и продолжили перебазироваться,
  • git records первый перебазированный коммит A1' второй коммит также конфликтует
  • (я полагаю) вы, опять же, отредактируйте файл до **_a_****_b_** и выполните git rebase --continue
  • здесь содержимое file такое же, как в A1', и вы получите сообщение «Без изменений ...»
  • Вы можете запустить git rebase --skip, пропустив A2, потому что все ваши изменения уже записаны в коммите A1'.
  • Кроме того, вы можете перезапустить перебазирование и разрешить первый коммит только как _a_**_b_**, а второй как **_a_****_b_**, чтобы сохранить историю форматирования "a"
...