Я перевірив сховище 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