Я не сказал, но это может быть важно, Git в сравнении с SVN:
1)
В Git'е есть понятия веток и меток, это сущности встроенные в сам Git.
В SVN'е нет такого понятия, это человек для себя определил, что вот в этом каталоге я буду складывать копии другого каталога, например
trunk. Т.е. понятие веток реализуется самим человеком.
2)
В Git'е версионному контролю подлежат только файлы, по сути он следит только за полным именем файла и изменением пути в этом полном имени.
В SVN'е под контроль версий можно добавлять и каталоги.
(попользовавшись Git'ом у меня на корню испарилась нужда добавлять под контроль версий каталоги)
3)
Я, до сих пор, не нашёл способа экспортировать правку/файл из Git-хранилища в произвольный каталог.
В SVN'е это делается элементарно.
4)
Git'у не принципиальны такие понятия, как переименование/копирование файла. При обнаружении изменений он показывает % соответствия одного файла другому, например так:
 РЈРСВВВВВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВВВВВР С• 46%
491 x 236 (5.33 килобайт)
|
Т.е. на практике нужды в ручном (версионированном) переименовании, как в SVN'е, нет.
Вот снимок окна gitk:
 РЈРСВВВВВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВВВВВР С• 74%
994 x 825 (40.48 килобайт)
|
Здесь жёлтенькие ярлычки - это метки (имена)
Зелёненькие - ветки (имена)
Ярлычки содержащие бледно красный текст "
remotes/..." - это ветки/метки во внешнем хранилище, когда я принимаю из внешнего хранилища данные, то они не мешают основным, но я могу их в любой момент слить в нужную локальную ветку, или сделать от них (в любом их месте) новую локальную ветку.
П.С. это SVN-хранилище клонированное с помощью git-svn