Сколько места мне нужно для Git vs SVN? - PullRequest
10 голосов
/ 11 октября 2011

В настоящее время мы используем Subversion в качестве хранилища исходного кода.Мы находимся на этапе планирования конвертации в Git.Наш репозиторий Subversion в настоящее время 19Gb.Как Git-репозиторий сравнивается с Subversion по требованиям к дисковому пространству?Что будет переводить мой 19Gb SVN-репозиторий в Git-репозиторий.

Ответы [ 2 ]

18 голосов
/ 11 октября 2011

Трудно угадать точный размер, который примет ваш репозиторий Git, поскольку он зависит от нескольких факторов, например

  • тип хранимых объектов
  • количество ветвей, тегов
  • количество похожих / повторяющихся объектов

Git имеет хороший алгоритм сжатия, и, из моего прошлого опыта, он смог уменьшить размер хранилища SVN до 10 раз. Вот несколько примеров .

Однако лучший способ - попробовать это самостоятельно.На вашем локальном компьютере вы можете конвертировать SVN-репозиторий в Git

$ git-svn clone -s http://path/to/subversion reponame

, затем запустить git gc и посмотреть, сколько места вам нужно для запуска.

1 голос
/ 30 марта 2017

Поскольку git сохраняет весь репозиторий на каждой машине, он также хранит полную историю, и если вы добавили, а затем удалили большой файл, вы заметите, что на самом деле дисковое пространство не уменьшилось.Если вы абсолютно уверены, что хотите окончательно удалить файл, вам нужно запустить специальные команды в git.

git filter-branch -f --index-filter 'git rm -r --cached --ignore-unmatch "filename"' --prune-empty HEAD
rm -rf .git/refs/original/ && git reflog expire --expire=now --all && git gc --aggressive --prune=now

Сегодня я переместил одно из своих репозиториев svn в git с помощью команды git svn, которая позволяет вамперемещать не только текущие данные, но и историю.И вот что у меня есть.

Текущий размер репозитория SVN на моем компьютере составляет 1,27 ГБ, недавно созданного GIT-репо - 3,24 ГБ.Это связано с тем, что git-репо содержит всю историю, удаленные файлы фактически не удаляются в git, пока вы не сделаете это явно, как я упоминал выше.Если вы обнаружите какие-либо проблемы при переходе на git, вы можете найти ответы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...