ниже структура каталогов:
Top_dir
--test_file
Теперь, когда я делаю git rm test_file, так как Top_dir не имеет других файлов, git также удаляет Top_dir. Это нормальное поведение мерзавца?
ниже структура каталогов:
Top_dir
--test_file
Теперь, когда я делаю git rm test_file, так как Top_dir не имеет других файлов, git также удаляет Top_dir. Это нормальное поведение мерзавца?
Хм, не совсем уверен, что это делает мерзавец. Он удаляет файлы из вашего текущего рабочего дерева / индекса и области подготовки.
http://gitref.org/basic/#rm-mv
https://www.kernel.org/pub/software/scm/git/docs/git-rm.html
Если вы новичок в git, я предлагаю использовать gitk (который предоставляет хороший пользовательский интерфейс для репозитория git), чтобы сделать это проще. Вы можете установить это с терминала как sudo.
Надеюсь, это поможет !
Да. Git точно не использует файловую систему. Он использует "капли". Есть статья под названием git снизу вверх, которая довольно короткая и очень рекомендуется. Вот соответствующий фрагмент:
Различие между Git-BLOB-файлом и файлом файловой системы заключается в том, что BLOB-объект не хранит метаданных о своем содержимом. Вся такая информация хранится в дереве, которое содержит блоб. Он может знать это содержимое как файл с именем «foo», созданный в августе 2004 года, в то время как другое дерево может знать то же содержимое, что и файл с именем «bar», созданный пять лет спустя. В обычной файловой системе два файла с одинаковым содержимым, но с такими разными метаданными, всегда будут представлены как два независимых файла. Почему эта разница? Главным образом, это потому, что файловая система предназначена для поддержки файлов, которые меняются, а Git - нет. Тот факт, что данные являются неизменяемыми в репозитории Git, является тем, что делает всю эту работу, и поэтому был необходим другой дизайн. И, как выясняется, этот дизайн обеспечивает гораздо более компактное хранение, поскольку все объекты, имеющие одинаковое содержимое, могут совместно использоваться независимо от того, где они находятся.