Это система контроля версий CVS(Version Control System). Можно называть SCM (Source control Managment).
- Хранит историю изменений в виде отдельных ревизий
- Позволяет манипулировать историей: например менять порядок ревизий, полностью удалять версии, возвращатся назад в истории
- Помогает анализировать изменения например: кто и когда внёс изменения в определённый файл и.т.д.
- touch - создание файла
- mkdir - создать директорию
- cp - корирование файлов. Принимает два параметра: что копируем, куда копируем.
- mv - перемещение файлов и папок
- cat - чтение файлов
- rm - удалить файл
- rmdir - удалить файл
- rm -r - удалить папку со всем содержимым
- $$ - выполнить несколько команд сразу
git config --global user.name or user.email
Все настройки хранятся в файле .gitconfig в домашней директории.
git init - сделать папку репозиторием
Для отмены можно удалить папку .git в созданом репозитории.
git status - проверить состояние репозитория
git add - добавить по одному файлу
git add --all - добавить все файлы в репозитории
git add. - добавить всю текущую папку
Коммит гарантирует, что изменение будут сохранены в истории и при необходимости к ним можно будет откатится.
git commit - выполнить коммит.
-m - ключ, который присваивает коммиту сообщение.
git log - посмотреть историю коммитов.
- Перейти в домашнюю директорию
- ls -la.ssh - вывести список созданных ключей
- гененрируем ключ
ssh-keygen -t ed25519 -c "e-mail"
- Копируем содержимое ключа
clip < ~/.ssh/id_ed25519.pub
- проверить ключ
ssh -T git@github.com
git remote add - привязать удалённый репозиторий к локальному. Так же надо добавить имя например origin, а потом ссылку с гита.
Origin - стандартный псевдоним, с помощью которого можно обращатся к главному удалённому репозиторию.
git remote -v - убедится, что репозитории связаны.
Отправить изменения на удалённый репозиторий.
git push - однако в первый раз вводить **push -u origin main/master.
Хеширование - способ преобразования набора данных и получения его отпечатка.
Информация о коммите - это набор данных: когда и кем был сделан коммит, содержание файлов в репозитории на момент коммита и ссылка на предидущий или родительский коммит.
-
если хеш получить дважды для одного и тогоже набора входных данных, то результат будет гарантированно одинаковый;
-
если хоть что-то изменится в данных (даже 1 символ), то хеш тоже изменися (причем заметно)
Хеш - основной индетификатор коммита, зная его можно увидеть всю информацию по коммиту.
git log - вывести список коммитов
Получить сокращённый лог: git log --oneline в терминале появится только первые несколько символов хеша каждого коммита и их комментарии.
Файл HEAD - служебный файл, который хранится в папке .git. Указывает на коммит, который сделан последним (самый новый).
Многие команды git используют в качестве параметра хеш коммитов, если нужно обратится к последниму, то можно передать HEAD. Гит поймёт.
Гит отслеживает изменения файлов в репозитогрии. Для этого каждый файл помечается статусом.
untracked - новый неостлеживаемый файл. У файла с этим статусом нет предидущих версий.
staget - после выполнения git add, файл поподает в зону подготовки файлов для коммита (staget area). Так же файлы помечаются статусом staget.
tracked - противоположность untracked. Сюда так же входят файлы хранящейся в staget area.
modified - файл, который был изменён после коммита.