Git и Svn - dcommit повредил мой код - PullRequest
0 голосов
/ 27 сентября 2018

Я попытался зафиксировать свое git-репо в системе subversion, и что-то пошло не так.Здесь подробно, что я сделал до сих пор:

  1. начиная с коммита на нашем SVN, я запустил эту команду: $git svn clone my_repo_url -s
  2. работал над моим кодом (так что я 'я сделал свои вещи);
  3. когда все было в порядке, я все перебазировал.Поскольку я прочитал, что svn не очень хорошо работает с ветвями;
  4. Итак, с одной ветвью (master) я выполнил следующую команду: git svn dcommit
  5. Ошибка при передаче на сервер svn(возможно, некоторые конфликты разрешить).Я не хотел решать их в тот момент, поэтому я запустил эту команду: git rebase --abort (возможно, я не очень хорошо прочитал, что она делает, но git предлагал это);
  6. Прямо сейчас у меня естья потерял свое решение (файл .sln), и в проекте я вижу папку с именем «Backup» (все мои классы дублированы) ... wtf

Простой вопрос: что происходит?Как я могу восстановить свое решение до «git svn dcommit»?

Здесь вывод моих .git / logs / HEAD:

5edc59acb6e200aef991d7de124008f8120ee187 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538033064 +0200      commit: Change the Map table label
1234c77ff6a21551ea615bee11cd9c56f2beb839 0d80fd2165866dd809dbdf16287898a71d31fecb my_name my_email 1538059453 +0000      rebase: checkout refs/remotes/git-svn
0d80fd2165866dd809dbdf16287898a71d31fecb 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538059583 +0200      rebase: aborting
1234c77ff6a21551ea615bee11cd9c56f2beb839 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538059584 +0200      rebase: updating HEAD
1234c77ff6a21551ea615bee11cd9c56f2beb839 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538059671 +0200      checkout: moving from master to TestMergeSvn_feature
1234c77ff6a21551ea615bee11cd9c56f2beb839 14687b653cd9b13bba47a971af002f95bfac3bf6 my_name my_email 1538059705 +0000      rebase: checkout refs/remotes/git-svn
14687b653cd9b13bba47a971af002f95bfac3bf6 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538060096 +0200      rebase: aborting
1234c77ff6a21551ea615bee11cd9c56f2beb839 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538060097 +0200      rebase: updating HEAD
1234c77ff6a21551ea615bee11cd9c56f2beb839 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538060179 +0200      checkout: moving from TestMergeSvn_feature to master
1234c77ff6a21551ea615bee11cd9c56f2beb839 5edc59acb6e200aef991d7de124008f8120ee187 my_name my_email 1538060222 +0200      checkout: moving from master to 5edc59a
5edc59acb6e200aef991d7de124008f8120ee187 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538060314 +0200      checkout: moving from 5edc59acb6e200aef991d7de124008f8120ee187 to master
1234c77ff6a21551ea615bee11cd9c56f2beb839 e009e033a3b1811e01c08f28a0a6cc2fa71fd566 my_name my_email 1538060866 +0200      checkout: moving from master to e009e03
e009e033a3b1811e01c08f28a0a6cc2fa71fd566 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538061011 +0200      checkout: moving from e009e033a3b1811e01c08f28a0a6cc2fa71fd566 to master
1234c77ff6a21551ea615bee11cd9c56f2beb839 1234c77ff6a21551ea615bee11cd9c56f2beb839 my_name my_email 1538061307 +0200      reset: moving to 1234c77

Заранее спасибо.

1 Ответ

0 голосов
/ 27 сентября 2018

Могут быть некоторые дополнительные шаги, о которых я могу забыть, но ... вот что я бы сделал: git rebase --abort, если бы вы были в середине перебазирования.Убедитесь, что вы находитесь на ревизии, которую вы впервые создали для своей работы (не волнуйтесь, если она зафиксирована, вы не потеряете ее так легко).Если нет, вернитесь к нему (на всякий случай проверьте git reflog).Теперь сделайте git svn fetch, чтобы собрать все изменения, которые у вас нет, от svn.Затем перебазируйте или вставьте изменения в ветку svn, к которой вы хотите перейти.Затем запустите git svn dcommit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...