Я разработал проект SVN с использованием Git, потому что мне нужно было добавить функции, которых они не хотели. Но в то же время я хотел продолжить работу с функциями или исправлениями, которые они добавили в версию вверх по моей вилке (где они не конфликтуют). Итак, у меня есть проект Git со следующими ветвями:
- master - ветвь, которую я фактически создаю и развертываю из
- feature _ *** - ветки функций, в которых я работаю или работаю над новыми вещами, которые я затем объединяю, чтобы освоить, когда закончил
- vendor-svn - моя локальная ветвь git -svn, которая позволяет мне "git svn rebase" из своего svn repo
- поставщик - мой локальный филиал, в который я объединяю vendor-svn. затем я нажимаю эту ветку (поставщика) на общедоступный репозиторий Git (github)
Итак, мой поток выглядит примерно так:
git checkout vendor-svn
git svn rebase
git checkout vendor
git merge vendor-svn
git push origin vendor
Теперь возникает вопрос: мне нужно просмотреть каждое сделанное им совершение (желательно индивидуально, так как на данный момент мне около двадцати коммитов за ними), прежде чем слить их в мастера. Я знаю, что могу запустить Git мастер checkout; Git merge vendor, но это приведет к любым изменениям и совершит их, без возможности увидеть, конфликтуют ли они с тем, что мне нужно.
Итак, что лучший способ сделать это? Git кажется отличным инструментом для обработки вилок проектов, так как вы можете тянуть и нажимать из нескольких репозиториев - я просто не испытываю этого достаточно, чтобы знать лучший способ сделать это.
Здесь оригинальный проект SVN, о котором я говорю: https://appkonference.svn.sourceforge.net/svnroot/appkonference
Мой форк находится в github.com/jthomerson/AsteriskAudioKonf