dcommit в SVN за 1 коммит после выбора вишни в git - PullRequest
2 голосов
/ 01 марта 2010

Я хотел бы знать, существует ли чистый способ сделать git-svn dcommit из нескольких локальных коммитов как 1 коммит в subversion.

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

В настоящее время я делаю все, что нужно для вишни на ветви X , а затем сквош слива в новой ветви Y Затем dcommit будет выполняться из ветви Y .

Есть ли лучший способ сделать это без использования промежуточной ветви?

Ответы [ 2 ]

2 голосов
/ 30 марта 2010

Вы не можете сделать это без использования дополнительных веток. Ветка, из которой вы dcommit, будет отражать представление истории SVN после того, как вы dcommit. Если вы хотите сохранить исходное представление git с несокращенным множеством коммитов, вам нужно будет использовать дополнительную ветку.

(И да, я бы тоже этого не хотел)

0 голосов
/ 20 марта 2010

Вы можете раздавить вещи вместе с git reset --soft или git rebase -i (если это не верхние коммиты).

Пример: git reset --soft HEAD~4 && git commit -m 'Bug fixes' поместит 4 последних коммита в один.

...