GIT

Feb 14, 2023 02:00

в ночи немного поиграл с гитом.

какая же крутая штука.
мне нужно было перенести правки из продакшн проекта в SVN в новую ветку разработки, которая уже ранее была полностью импортирована из SVN. Потому что продакшн живет и правки там нужны. Переезд на гит там будет с следующей версии нашего по, пока "работает - не трожь"

Те донести новые исправления из старой системы контроля версий. Практически без приключений - оно получилось.

git svn init
git svn fetch
[git update-ref чтобы новая ветка в гите указывала на нужную ветку в импортированном SVN репозитории]
[git rebase -l - чтобы перенести изменения из SVN в информацию для гита SVN ветки - для того чтобы было что мержить]
git merge из SVN ветки в нужную GIT ветку

как же изящно.
и это я еще не добрался до функционала - подчиненных репозиториев с мерджем из них (видимо голый гит тут неудобен с правами доступа итп - буду ставить гитлаб) и подписи коммитов...

крутота

UPD
git update-ref refs/heads/svn_scyn refs/remotes/origin/R1.11.1 - указываю на конкретную ветку
git checkout svn_scyn
git rebase R.12
git checkout R.12
git merge svn_scyn

UPD
git update-ref refs/heads/svn_scyn refs/remotes/origin/R1.11.1@{1}

UPD2
git svn fetch делает правки в текущей ветке
сначала можно поставить ветку
git update-ref refs/heads/svn_repo refs/remotes/origin/R1.11.1
нюанс был в том что текущие правки дублировались прилетевшими коммитами

программинг, unix

Previous post Next post
Up