2017-01-31 30 views
-1

У меня есть следующие сомнения, связанные с тем, как в мигрировать из SVN в GIT в этой конкретной ситуации.Как я могу перенести этот проект из SVN в GIT в этой простой ситуации?

До сих пор мы используем SVN как систему контроля версий. Теперь мы переходим на GIT.

Таким образом, в этот момент у меня есть только поставить на GIT один PROJET, что до тех пор пока теперь обрабатываются с помощью SVN. Еще одна важная деталь заключается в том, что этот проект не имеет истории в SVN, потому что это новый проект, и в это время есть только первая фиксация, к счастью, мне не удалось перенести и историю с SVN на GIT.

Таким образом, в основном на моем ПК у меня есть проект Java, который в настоящее время связан с репозиторием SVN . Я должен поставить на GIT только текущую версию.

Могу ли я просто вхожу в свой локальный проект и сделать что-то вроде этого:

cd existing-project-on-my-local-PC 
git init 
git add --all 
git commit -m "Initial Commit" 
git remote add origin https://[email protected]/bitbucket/scm/my-project/myproject.git 
git push -u origin master 

Мой проект также содержит папку .svn, содержащий старые Svn информацию. Как я могу его исключить?

ответ

1

Вы можете сделать это почти так.

Вы должны использовать git add . вместо git add --all, так как первый добавляет все в текущую директорию и находится под ней, а последний обновляет уже отслеживаемые файлы.

Что касается каталога .svn, либо просто удалить его, вам не нужно больше, и это, вероятно, не самая лучшая идея, чтобы иметь worktree, который управляется СВН и Git одновременно. В качестве альтернативы вы можете использовать функцию Gits ignore, чтобы исключить папку .svn. Если вы хотите зафиксировать это исключение вместе с вашим проектом, создайте файл .gitignore с контентом /.svn/ (это будет игнорировать папку .svn на том же уровне, что и файл .gitignore, и все, что в нем), или добавить то же самое к .git/info/exclude после выполнения git init, чтобы игнорировать его только в локальном хранилище Git. Или вы также можете добавить его в файл игнорирования, который находится на уровне пользователя, чтобы игнорировать папки .svn во всех локальных хранилищах Git, но я думаю, что это необязательно. Подробнее о функции игнорирования можно узнать по номеру https://git-scm.com/docs/gitignore.