2016-10-27 3 views
0

У меня есть репозиторий git на G:\C\BIT. Он имеет два отделения: dev и master. master пуст и dev имеет трех фолдеров A, B и C. Теперь, когда я нахожусь в ветке dev, эти папки отображаются на компьютере. Но когда я заказываю master, ветвь все три папки A, B и C становятся невидимыми. Они не только невидимы, но и не занимают места на моем жестком диске. G:\C\BIT в dev составляет 4 МБ и в master 2,75 МБ. Мой вопрос:Где файлы одной ветви идут, когда я выхожу в другую ветку?

  • Где хранятся файлы одной ветки, когда я выхожу в другую ветку? Могут ли они быть удалены, а затем перезагружены, когда я снова выхожу в прежний филиал?
+0

Связанный: http://stackoverflow.com/questions/8198105/how-does-git-store-files –

ответ

3

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

Git работает только с локальными файлами; в то время как у него есть возможности для синхронизации изменений в удаленных репозиториях и из них, такие действия, как проверка файла или внесение изменений, влияют только на локальный репозиторий.

+0

Чтобы добавить к этому ответу, может быть интересным упражнением для OP, чтобы проверить пространство, занимаемое. git - он должен показать, что каталог .git содержит значительную и последовательную часть данных 4MB и 2,75MB. – haggisandchips

+0

Похоже, это именно то, что происходит. в папке '.git/objects' хранится много данных. И данные, кажется, зашифрованы. Благодарю. – user31782

+0

@haggisandchips Я только что вставил папку 300 МБ в репозиторий с проверкой ветви 'dev'. Теперь, когда я переключился на 'master' .git', 300 МБ. – user31782