Я перевірив сховище svn за допомогою git svn. Тепер мені потрібно перевірити одну з гілок і відстежити її. Який найкращий спосіб це зробити?
Я перевірив сховище svn за допомогою git svn. Тепер мені потрібно перевірити одну з гілок і відстежити її. Який найкращий спосіб це зробити?
Відповіді:
Створіть клон git, який включає ваш магістраль Subversion, теги та гілки
клон git svn http://svn.example.com/project -T магістраль -b гілки -t теги
Ця --stdlayoutопція є хорошим ярликом, якщо ваш сховище Subversion використовує типову структуру:
клон git svn http://svn.example.com/project --stdlayout
Зробіть так, щоб ваше сховище git ігнорувало все, що робить підривна робота:
git svn show-ignore >> .git / info / виключити
Тепер ви зможете побачити всі гілки Subversion на стороні git:
git гілка -r
Скажіть, назва філії в Subversion є waldo. На стороні git, ви біжите
git checkout -b waldo-svn віддалений / waldo
Суфікс -svn полягає у униканні попереджень форми
попередження: перейменування "waldo" неоднозначне.
Щоб оновити гілку git waldo-svn, запустіть
git checkout waldo-svn git svn rebase
Щоб додати гілку Subversion до клона лише для магістралі, змініть .git/configвміст вашого сховища git
[svn-віддалений "svn-mybranch"]
url = http://svn.example.com/project/branches/mybranch
fetch =: refs / Remotes / mybranch
Вам потрібно буде виробити звичку бігати
git svn fetch --fetch-all
оновити все, що git svnдумає, окремі віддалені. У цей момент ви можете створювати та відслідковувати гілки, як зазначено вище. Наприклад, щоб створити гіт-гіт, який відповідає моїй галузі, запустіть
git checkout -b mybranch-svn віддалений / mybranch
Для галузей, з яких ви маєте намір git svn dcommit, зберігайте їхні історії лінійними!
Можливо, вам буде цікаво прочитати відповідь на пов’язане питання .
--prefix=svn/під час виконання git-svn initабо git-svn clone) Це позбавить від необхідності додавати суфікс на локальних гілках.
show-ignoreпомилки виходять, спробуйтеgit svn show-ignore -i trunk