ниже структура каталогов:

Top_dir
--test_file

Теперь, когда я делаю git rm test_file, так как Top_dir не имеет других файлов, git также удаляет Top_dir. Это нормальное поведение мерзавца?

2 ответа2

0

Хм, не совсем уверен, что это делает мерзавец. Он удаляет файлы из вашего текущего рабочего дерева / индекса и области подготовки.

http://gitref.org/basic/#rm-mv

https://www.kernel.org/pub/software/scm/git/docs/git-rm.html

Если вы новичок в git, я предлагаю использовать gitk (который предоставляет хороший пользовательский интерфейс для репозитория git), чтобы сделать это проще. Вы можете установить это с терминала как sudo.

Надеюсь, это поможет !

0

Да. Git точно не использует файловую систему. Он использует "капли". Есть статья под названием git снизу вверх, которая довольно короткая и очень рекомендуется. Вот соответствующий фрагмент:

Различие между Git-BLOB-файлом и файлом файловой системы заключается в том, что BLOB-объект не хранит метаданных о своем содержимом. Вся такая информация хранится в дереве, которое содержит блоб. Он может знать это содержимое как файл с именем «foo», созданный в августе 2004 года, в то время как другое дерево может знать то же содержимое, что и файл с именем «bar», созданный пять лет спустя. В обычной файловой системе два файла с одинаковым содержимым, но с такими разными метаданными, всегда будут представлены как два независимых файла. Почему эта разница? Главным образом, это потому, что файловая система предназначена для поддержки файлов, которые меняются, а Git - нет. Тот факт, что данные являются неизменяемыми в репозитории Git, является тем, что делает всю эту работу, и поэтому был необходим другой дизайн. И, как выясняется, этот дизайн обеспечивает гораздо более компактное хранение, поскольку все объекты, имеющие одинаковое содержимое, могут совместно использоваться независимо от того, где они находятся.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .