Как разрешить конфликт с git-svn?

Как лучше всего разрешить конфликт при выполнении git svn rebase, когда ветка git, в которой вы находитесь, становится "(no-branch)"?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
54
0
19 530
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать git mergetool для просмотра и редактирования конфликтов обычным способом. Если вы уверены, что конфликты разрешены, сделайте git rebase --continue, чтобы продолжить перебазирование, или, если вы не хотите включать эту ревизию, сделайте git rebase --skip

Это помогло, спасибо. Так что у других нет моей проблемы ... пусть mergetool внесет ваши изменения, но не commit. Просто позвоните в git rebase --continue и сообщите о поэтапных изменениях.

slf 10.08.2012 18:34

Если при работе с git svn rebase возникают конфликты слияния, следует помнить следующее:

1) Если при выполнении перебазирования произойдет что-нибудь плохое, вы попадете в ветку (no-branch).

2) Если вы запустите git status, вы увидите файл .dotest в своем рабочем каталоге. Это можно игнорировать.

3) Если вы хотите прервать перебазирование, используйте следующую команду.

git rebase --abort

4) Если у вас есть конфликт слияния:

  1. Вручную отредактируйте файлы, чтобы разрешить конфликты.
  2. Произведите любые изменения с git add [file]
  3. Продолжите перебазирование с помощью git rebase --continue1
    • Если git спрашивает: «Вы забыли вызвать git add?», То правки превратили конфликт в безоперационное изменение 2. Продолжить с git rebase --skip

Возможно, вам придется повторять этот процесс до завершения перебазирования. В любой момент вы можете git rebase --abort отменить и отказаться от перебазирования.


1: There is no --abort option for git svn rebase.

2: There is no --continue option for git svn rebase.

3: This is very strange, but the files are in a state where git thinks they are the same after that particular patch. The solution is to "skip" that patch on the rebase.

только что попал в беспорядочную смену, действительно странно

Sam Saffron 07.06.2009 05:16

Спасибо за подсказку, даже не подумал.

bojo 25.08.2010 11:49

Вся эта вещь git rebase --skip доставила мне немного горя, так как я несколько раз терял свои изменения в своих попытках разрешить конфликт. Оглядываясь назад, я, вероятно, должен был создать локальную ветку и внести в нее свои изменения вместо того, чтобы полагаться на git stash. Я не сделал этого, потому что прочитал, что есть проблемы со слиянием ветвей в git svn, но я думаю, что это связано с попыткой слияния ветвей svn, которые вы реплицируете в своей локальной копии git.

trafalmadorian 09.10.2012 12:35

Я выполнил слияние из удаленного / транка в рабочую ветку нашей команды, и в итоге мне пришлось разрешать конфликты дважды, один раз при слиянии, а затем еще раз, когда я выполнял «git svn rebase». Что я сделал не так?

Quartz 24.07.2013 21:49

Я знаю, что это старый вопрос, но надеюсь, что кто-нибудь ответит. Я импортировал svn-репо с помощью git svn. Однажды внес некоторые изменения в git, но люди все еще работают над svn, поэтому мне нужно получить их изменения. Каждый раз, когда я использую git svn rebase, я должен пройти весь этот процесс разрешения одних и тех же «конфликтов». Как этого избежать? rerere не помог. Заранее спасибо.

ex3v 02.07.2014 17:09

@csexton твоя ссылка на блог harrys мертва

Ali786 15.11.2014 10:15

Другие вопросы по теме