Страницы

Поиск по вопросам

понедельник, 8 октября 2018 г.

Как создать (добавить) директорию?

Первый день работаю с GIT (BitBucket).
Возник вопрос как создать и закоммитить директорию. Добавил в основную папку проекта (на локале) директорию. Потом в терминале написал:
git add * git push
и в итоге ничего не изменилось. Подскажите, что я делаю не так?


Ответ

Чтобы git сохранил директорию:
Она должна быть непустой. Нужно добавить её содержимое и сделать коммит.
1. Директория должна быть непустой
Добавить пустую директорию нельзя. Команда git add «видит» только файлы и пути, в которых они лежат. Чтобы сохранить пустую директорию, создайте в ней пустой файл .gitkeep и добавьте его в git.
Почему git так работает?
Потому что он хранит данные в виде следующих объектов:
Blob, блоб (от Binary Large OBject) — бинарный архив файла. Tree, дерево — текстовый список содержимого директории: файлов (блобов) и других директорий (деревьев).
Дерево не может быть пустым — by design, так устроен алгоритм. Поэтому пустую директорию нельзя добавить. Чтобы её наполнить, достаточно создать в ней файл. Обычно такой файл называют .gitkeep, но допустимо любое имя.
Например, в директории есть файл и ещё пара директорий, одна из которых пуста. Вот что будет после команды git add .
на диске: в индексе git: . tree ├── dir1 tree │   └── file1 blob ├── dir2 (ничего) └── file2 blob
Чтобы узнать про другие объекты и подробности, читайте Git from the bottom up
2. Нужно сделать коммит
Команда git add только добавляет файлы в индекс, после чего нужно сохранить их командой git commit
Для добавления используйте git add ., а не *

Комментариев нет:

Отправить комментарий