Git с двумя удаленными репо, один git, один svn - PullRequest
2 голосов
/ 07 июля 2010

Так что я использую git-svn для синхронизации с нашим основным репозиторием SVN.Я также создал удаленное git-репо, чтобы отправлять ветки для безопасного хранения моей машины, пока изменения не будут готовы для объединения в SVN.Проблема в том, что когда у меня есть коммит, который должен идти как в svn, так и в git, я должен сначала выполнить git svn dcommit.dcommit переписывает SHA коммитов.Если я нажал, git затем рассматривает коммит, по праву, как два коммита, так как они имеют разные SHA, но одинаковый контент.Иногда я забываю svn dcommit первым.Как я могу справиться с этим, если я делаю?Мне нужно удалить коммит из удаленной ветки, не удаляя его из локального репо.То, что я делал, так это бьет по git-репо, так как на данный момент я один использую его, но это явно не удовлетворительное решение.

РЕДАКТИРОВАТЬ: я забыл упомянуть, что удаленный gitрепо голое.

Ответы [ 3 ]

1 голос
/ 23 июля 2010
  1. Добавить pre-receive-check перехватить git-репо в следующий раз, чтобы избежать получения информации dcommit для git-репо в мастер-ветке,или вернитесь к этапу синхронизации и снова нажмите
1 голос
/ 07 июля 2010

Вы можете попробовать загрузить данные с пульта Git, а не нажимать на него.Другими словами, вместо того, чтобы делать git push remote с локального компьютера (на котором находится ваша рабочая копия), войдите в систему на удаленном компьютере и выполните git fetch local.Это всегда будет успешным.Если вы случайно подключились к пульту до того, как набрали git svn dcommit, это не проблема.Просто сделайте dcommit и затем загрузите заново.Выборка всегда принудительно обновляет любые ветви, которые в этом нуждаются.

0 голосов
/ 13 октября 2010

Может оказаться полезным рабочий процесс, который я описываю в этой статье . В частности, я полагаю, что вы можете использовать ту же процедуру, которая описана в шаге 3, для «отмены» коммитов в удаленном репозитории git и затем git push коммитов git-svn-id-tagged. Ваше предупреждение о трафике на удаленном git-репо, конечно, очень важно.

I do используйте эту процедуру с удаленным git-репо.

...