Создание и удаление git-репозиториев
Если какую-либо папку сделать git-репозиторием, то Git как программа начнет определенным образом отслеживать происходящие в ней изменения, позволять их фиксировать и выполнять "перенос" изменений между разными компьютерами.
Чтобы каталог проекта сделать git-репозиторием, надо перейти в него и в нем выполнить команду git init
.
user@comp:~$ cd test-project/ user@comp:~/test-project$ git init hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> Инициализирован пустой репозиторий Git в /home/pl/test-project/.git/
После этого в каталоге появится скрытая папка .git, в которой будут хранится данные для Git, касаемые данного проекта.
user@comp:~/test-project$ ls -a . .. .git
По-умолчанию ветка называется master или main. Вы можете переименовать ее, воспользовавшись подсказкой в выводе при инициализации репозитория. Помнить об имени ветки важно, если в дальнейшем проект будет содержать несколько.
Фраза "Инициализирован пустой репозиторий Git" означает, что в репозитории еще не было коммитов (фиксации изменений), и не имеет отношения к тому, уже есть в проекте файлы или еще нет.
Однако вывод команды git status
в зависимости от наличия/отсутствия файлов и каталогов будет несколько отличаться:
user@comp:~/test-project$ git status Текущая ветка: master Еще нет коммитов нечего коммитить (создайте/скопируйте файлы, затем запустите «git add», чтобы отслеживать их)
user@comp:~/test-project2$ ls -a . .. docs .git program.py readme.md user@comp:~/test-project2$ git status Текущая ветка: master Еще нет коммитов Неотслеживаемые файлы: (используйте «git add <файл>...», чтобы добавить в то, что будет включено в коммит) docs/ program.py readme.md индекс пуст, но есть неотслеживаемые файлы (используйте «git add», чтобы проиндексировать их)
О том, что такое индекс, как туда добавлять файлы и как выполнять фиксацию изменений (коммит) рассказано в следующей статье.
Если из каталога проекта, который в то же время является git-репозиторием, удалить подкаталог .git (то есть разгитить каталог), то, соответственно, проект перестанет быть репозиторием. Файлы папки останутся в своей последней версии, и откат к предыдущим будет невозможен.
С другой стороны, ничего не мешает инициировать новый репозиторий. Его первым коммитом будет текущее состояние проекта.
Кроме обычных git-репозиториев нередко создают так называемые "голые", или "пустые". В этом случае команда git init
используется с ключом --bare
. Такие репозитории не отслеживают изменения проекта на том компьютере, где созданы. Они используются для простой "вызагрузки" коммитов (изменений) с других компьютеров и хранят информацию о них. Обычно bare-репозитории создают на веб-серверах, если сайт правится только на локальном компьютере.