Вопросы по Гит, после SVN
К серверу цепляется?
Это я просто с сетями последнее время сижу...
Пока вот что выяснил - может еще кому "переходящему" пригодится.
Гит имеет два типа репозитория: "голый" (bare) и с рабочей копией. Отличия очень важные. Для того чтобы несколько человек могли коммитится в репозиторий он должен быть обязательно "голым".
Кроме того рабочую копию с "голого" репозитория можно разместить в любом каталоге и таких копий может быть достаточно много.
Визуал студия может работать только с репозиториями у которых есть рабочая копия.
Различать эти случаи довольно просто:
- "голый" репозиторий имеет стандартную структуру каталогов, в котором вашего проекта никак не видно
- репозиторий с рабочей копией имеет папку ".git".
- рабочая копия без репозитория имеет файл ".git".
Гит не работает с файловой структурой как свн, поэтому перемещать файлы и каталоги можно без опаски. Хотя не рекомендуют перемещение и изменение одновременно.
Понятие "веток" и "тэгов" имеется также, хотя это просто метки к коммитам.
"Стандарт работы" следующий:
- создается "голый" репозиторий доступный для всех разработчиков.
- каждый разработчик делает себе его локальную копию - так называемый процесс клонирования.
- после клонирования определенная ветка может быть автоматом скопирована как рабочя копия.
- Все изменения делаются в рабочей копии. Изменения можно просмотреть и переместить все или некоторые в специальное временное хранилище - staging area
- Изменения из staging area можно сохранить в локальной копии репозитория.
- Изменения из локального репозитория нужно переслать в общий репозиторий.
- Изменения из общего репозитория можно стащить в локальный.