git init Flashcards
Что в целом делает эта команда?
git init
Создает пустой git-репозиторий или повторно инициализирует существующий
Какая команда создает пустой git-репозиторий или повторно инициализирует существующий?
git init
Что произойдет в текущей директории, если в ней впервые выполнить git init ?
Эта команда создаст пустой git-репозиторий - обычно это каталог .git с подкаталогами для ‘objects’, ‘refs/heads’, ‘refs/tags’ и временных файлов. Также создается файл HEAD.
Что произойдет, если выполнить git init при условии, что в системе определена переменная окружения $GIT_DIR?
git-репозиторий будет создан в том месте, куда указывает $GIT_DIR
Что произойдет, если выполнить git init при условии, что в системе определена переменная окружения $GIT_OBJECT_DIRECTORY?
sha1-директории базы объектов будут созданы в том месте, куда указывает $GIT_OBJECT_DIRECTORY
Что произойдет, если выполнить git init в уже существующем git-репозитории?
Повторный запуск безопасен, все данные репозитория сохранятся. Главная причина повторного запуска - подхватить новые шаблоны (или переместить репозиторий в другое место, если задан –separate-git-dir)
Что делает данная опция?
-q | –quiet
Выводит в консоль только ошибки и предупреждения, все остальные сообщения выводиться не будут
Какая опция разрешает вывод в консоль только сообщений об ошибках и предупреждений?
-q | –quiet
Что делает данная опция?
–bare
Создает “голый” репозиторий. Если переменная $GIT_DIR не определена, репозиторий создается в текущей директории.
Какой опцией можно создать “голый” репозиторий?
–bare
Что делает данная опция?
–template=’template_directory’
Указывает директорию, откуда будут скопированы файлы и папки в git-репозиторий (НЕ в рабочую директорию)
Какой опцией можно указать, из какой директории скопировать файлы и папки в созданный git-репозиторий?
–template=’template_directory’
Перечислите директории, из которых будут скопированы файлы и папки в созданный git-репозиторий
- Аргумент опции –template
- Содержимое переменной $GIT_TEMPLATE_DIR
- Значение переменной конфигурации
init.templatedir
- Директория с шаблонами, заданная по умолчанию:
/usr/share/git-core/templates
- содержит рекомендуемые “exclude patterns” и “hook” файлы (которые сами по себе модифицируемы и расширяемы)
Что произойдет, если при запуске git init в конце командной строки указать директорию?
Команда будет запущена внутри указанной директории (если такой не существует - после ее создания)
Перечислите аргументы опции –shared (их 8)
- false
- true
- umask
- group
- all
- world
- everybody
- 0xxx
Для чего указывается опция –shared?
Эта опция определяет коллективное использование репозитория несколькими пользователями. Это позволяет пользователям, принадлежащим одной группе, выполнять ‘push’ в этот репозиторий.
Какие права доступа будут установлены, если не использовать опцию –shared?
Те, которые вернет утилита umask
Какую переменную конфигурации затрагивает включение опции –shared?
core.sharedRepository
Папки и файлы, создаваемые в $GIT_DIR будут иметь соответствующие права доступа
Какое значение опции –shared используется, если выполнить следующую команду
git init –shared
group
Назначение параметра –shared=umask (или false)
Используются права доступа, возвращаемые утилитой umask
Назначение параметра –shared=group (или true)
Делает репозиторий доступным для групповой записи
Назначение параметра –shared=all (или world, или everybody)
То же, что и ‘group’, но при этом делает репозиторий доступным для чтения всем пользователям.
Назначение параметра –shared=0xxx
0xxx - восьмеричное число, каждый файл будет иметь режим ‘0xxx’
Что делает данная опция?
–separate-git-dir=’git dir’
Создает git-репозиторий по указанному пути, а в месте запуска оставляет символьную ссылку на этот путь (т.е. отделяет репозиторий от рабочей директории). Если это повторная инициализация, то репозиторий переносится по указанному пути.
Какой опцией можно отделить git-репозиторий от рабочей директории (либо перенести уже существующий)?
–separate-git-dir=’git dir’