- git init - инициализирует локальный репозиторий
- git status - показывает текущее состояние гита, есть ли изменения, которые нужно закоммитить
- git add - добавляет содержимое каталога в индекс (staging area). Команда дается после добавления файлов. Писать название название файла целиком необязательно, терминал дополнит данные автоматически
- git commit - зафиксировать или сохранить
Команда git commit берёт все данные, добавленные в индекс с помощью git add и сохраняет их слепок во внутренней базе данных а затем сдвигает указатель текущей ветки на этот слепок - git log - журнал изменений
перед переключением версии файла в Git используйте команду git log чтобы увидеть количество сохранений
--graph позволяет отобразить коммиты в виде дерева - git checkout - переключение между версиями
для работы можно указать не только интересующий вас коммит, но и вернутся в тот, где работаеммпри помощи команды git checkout master - git diff - показывает разницу между текущим файлом и сохранённым
перед переключением версий файла в Git используйте команду git log чтобы увидеть количество сохранений
- git branch - позволяет вывести на экран список веток, ветка в которой работаем будет выделена
- git branch <название новой ветки> - позволяет создать новую ветку. Делать это надо в папке с репозиторием. Например:
git branch new_branch - git checkout <название ветки> - используется для переключения между ветками
- git merge - используется для переноса изменений из черновика в чистовик (слияния веток), чтобы слить ветку с текущей вызываем:
git merge <имя ветки для слияния с текущей> - git branch -d <название ветки которуюнеобходимо удалить> - используется для удаления веток, слияние которых уже проведено. Для удаления неслитых веток используется -D
- git branch -M main - переименование главной ветки с master на main
- git log --graph - позволяет отобразить коммиты в виде дерева
- git checkout -b <название ветки> - позволяет создать ветку из текущего коммита (например из одного из прошлых)
- Конфликт изменений при работе в двух ветках одновременно может возникнуть может возникнуть когда в одной и другой ветке мы по-разному изменили блок текста. Если затем мы попробуем слить эти ветки, Git сообщит о конфоликте и предложит выбрать, какие изменения записать (пример 1).
- git --global user.name "..." - добавить имя пользователя
- git --global user.email "..." - добавить email пользователя
- git add+Tab - выбор файла, который необходимо добавить в коммит
- git reset HEAD~ - удаление последнего коммита но не изменений, записанных в нём
- git reset --hard HEAD~ - удаление и коммита и связанных с ним изменений
- git rm <file_name.txt> - удаление файла из репозитория
- -m - добавление комментария (message)
- -a - для git commit -a заменяет git add для всех изменённых файлов
- -am - объединяет возможности -a и -m (пример 2)
- В Git не принято добавлять файлы изображений, их хранят на отдельных носителях, чтобы исключить ненужные файлы из загрузки необходимо создать в репозитории файл <.gitIgnore> и записать в него файлы, которые Git будет игнорировать (пример 3).
- git clone - позволяет клонировать внешний репозиторий на свой пк
Команда git clone составная, она не только загружает все изменения но и пытается слить все ветки на локальном компьютере и в удалённом репозитории - git pull - позволяет выгрузить всё из текущего удалённого репозитория и автоматически сделать merge с нашей версией
- git push - отправляет нашу версию репозитория на внешний репозиторий
- git remote add origin <ссылка на удалённый репозиторий> - связка локального и удалённого репозитория
- pull reqest - команда для предложения изменений на GitHub (запрос на вливание изменений в репозиторий)
Предлагать изменения на GitHub необходимо в отдельной ветке
Создание репозитория
Сохранение изменений
Проверка репозитория
Отмена изменений