2014-12-10 6 views
0

У меня есть два локальных репозиториев Git, как клонированные из различных СВН репозиториев:Git шаг совершить другой локальный репозиторий

  1. git-6.1-pa (latest svn branch)
  2. git-6.0-pa (stable svn branch, different source code tree, but similar to 6.1)

В настоящее время я в git-6.1-pa рассмотрел и привержен к ревизии хранилища svn (по git svn dcommit) - e27cf8edb2f69daf054aa6bb379d668e4b3d52f0 с собственным git-svn-id.

Что я хочу - переместить это сообщение в другой локальный репозиторий git-6.0-pa.

Я попытался это answer и он прекрасно работает, но ... я получил:

1. Successfully applied commit. 
2. This commit is not on top of history (3rd) 
3. Contains unnecessary old git-svn-id, because I'm going to call git svn dcommit on this moved commit. 

и я хочу получить:

1. Successfully applied commit (or diff suitable to commit). 
2. Commit is on top of history (or diff suitable to commit) 
3. Doesn't contain old git-svn-id, that I can just call git svn dcommit 

Возможно ли это?

ответ

0

Ваш товар 3), старый git-svn id не является проблемой. Он будет проигнорирован и отменен, если вы сделаете git svn dcommit. Если вас это беспокоит - сделайте git commit --amend или git rebase -i с опцией r, чтобы внести изменения в комментарий.

Ваш вопрос 2) не очень ясен для меня. Если вам не нравится порядок, в котором вы его берете, вы можете изменить его с помощью интерактивной перестановки git (git rebase -i <some sha earlier>), но вы не должны этого делать с фиксациями, которые поступают из вашего связанного svn. Я все еще удивляюсь, как вы получили свою фиксацию «не на вершине истории». Обычно, если вы делаете вишневый подбор, новая фиксация будет добавлена ​​поверх вашей главы. Вы работали над копией в «вершине истории», прежде чем вы сделали вишневый подбор?

Смежные вопросы