Игнорировать файлы git-svn из `git log` - PullRequest
2 голосов
/ 28 февраля 2011

Есть ли способ игнорировать обновления git-svn?мой обычный рабочий процесс:

  • делать вещи в моей dev ветке git
  • проверять моего мастера
  • git svn rebase на мастере
  • cherry-pick из dev
  • git svn dcommit
  • снова оформить заказ
  • git merge master

единственная проблема в том, что послея git merge master, я git log -n ###, и я также получаю все git-svn обновления.Могу ли я ограничить его только последними git коммитами?

1 Ответ

1 голос
/ 24 мая 2011

Нет, вы не можете объединить master обратно в ветку dev, не получив git-svn коммитов для поездки.

Дело в том, что когда вы делаете git svn dcommit, вы на самом деле переписываете коммиты, которые вы выбрали из ветви dev. Коммиты git-svn теперь являются частью вашей истории, и было бы глупо пытаться как-то от них избавиться. Если я правильно угадываю, ваша ветка dev полна коммитов слияния, где ваши коммиты git-svn воссоединены с вашими dev-коммитами, потому что они разошлись. Это грязно.

При этом я также не уверен, что ваш рабочий процесс оптимален. Может быть, вы должны попробовать это:

  1. работа работа работа в dev ветке
  2. git svn rebase на мастере за последние изменения SVN
  3. Теперь исправьте эти последние изменения в вашей работе: git rebase master в dev
  4. Теперь перенесите ваши изменения обратно в мастер: git merge dev на master
  5. git svn dcommit на мастере
  6. Теперь удалите ветку dev. Нет смысла сохранять его, так как коммиты были переписаны dcommit. git branch -d dev
  7. git checkout -b dev для следующей функции / исправления.
...