GitHub предоставляет оконное приложение с графическим интерфейсом для выполнения основных операций с репозиторием, и консольную версию Git с автоматическими обновлениями для расширенных сценариев работы.
Настройка информации о пользователе для всех локальных репозиториев
Устанавливает имя, которое будет отображаться в поле автора у выполняемых вами коммитов git config --global user.name "[имя]"
Устанавливает адрес электронной почты, который будет отображаться в информации о выполняемых вами коммитах git config --global user.email "[адрес электронной почты]"
Проверяет имя локального репозитория git config user.name
Проверяет адрес электронной почты репозитория git config user.email
Создание нового репозитория или получение его по существующему URL-адресу
Создаёт новый локальный репозиторий с заданным именем git init [название проекта]
Скачивает репозиторий вместе со всей его историей изменений git clone [url-адрес]
Перемещение и удаление версий файлов репозитория
Удаляет конкретный файл из рабочей директории и индексирует его удаление git rm [файл]
Убирает конкретный файл из контроля версий, но физически оставляет его на своём месте git rm --cached [файл]
Перемещает и переименовывает указанный файл, сразу индексируя его для последующего коммита git mv [оригинальный файл] [новое имя]
Исключение временных и вторичных файлов и директорий
*.log
build/
temp-*
Git будет игнорировать файлы и директории, перечисленные в файле .gitignore с помощью wildcard синтаксиса
Список всех игнорируемых файлов в текущем проекте git ls-files --others --ignored --exclude-standard
Просмотр изменений и создание коммитов (фиксация изменений)
Перечисляет все новые или изменённые файлы, которые нуждаются в фиксации git status
Показывает различия по внесённым изменениям в ещё не проиндексированных файлах git diff
Индексирует указанный файл для последующего коммита git add [файл]
Показывает различия между проиндексированной и последней зафиксированной версиями файлов *
git diff --staged*
Отменяет индексацию указанного файла, при этом сохраняет его содержимое git reset [файл]
Фиксирует проиндексированные изменения и сохраняет их в историю версий git commit -m "[сообщение с описанием]"
Именованные серии коммитов и соединение результатов работы
Список именованных веток коммитов с указанием выбранной ветки git branch
Создаёт новую ветку git branch [имя ветки]
Создаёт новую ветку и переходит на неё (важная команда для разработки) git checkout -b [имя ветки]
Переключается на выбранную ветку git checkout [имя ветки]
Переключается на выбранную ветку и обновляет рабочую директорию до её состояния git switch -c [имя ветки]
Вносит изменения указанной ветки в текущую ветку git merge [имя ветки]
Удаляет выбранную ветку git branch -d [имя ветки]
Просмотр и изучение истории изменений файлов проекта
История коммитов для текущей ветки git log
История коммитов для текущей ветки, где только названия коммитов git log --oneline
История изменений конкретного файла, включая его переименование git log --follow [файл]
История изменений коммитов с визуализацией связей между ними git log --graph
Показывает разницу между содержанием коммитов двух веток git diff [первая ветка]...[вторая ветка]
Выводит информацию и показывает изменения в выбранном коммите git show [коммит]
Удаление ошибок и корректировка созданной истории
Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории git reset [коммит]
Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита git reset --hard [коммит]
Сбрасывает последний мерж (слияние веток) git merge --abort
Сбрасывает все последние изменения в файле git restore [название файла]
Регистрация удалённого репозитория и обмен изменениями
Скачивает всю историю из удалённого репозитория git fetch [удалённый репозиторий]
Вносит изменения из ветки удалённого репозитория в текущую ветку локального репозитория git merge [удалённый репозиторий]/[ветка]
Загружает все изменения локальной ветки в удалённый репозиторий git push [удалённый репозиторий] [ветка]
Загружает историю из удалённого репозитория и объединяет её с локальной. pull = fetch + merge git pull
Сохранение и восстановление незавершённых изменений
Временно сохраняет все незафиксированные изменения отслеживаемых файлов git stash
Восстанавливает состояние ранее сохранённых версий файлов git stash pop
Выводит список всех временных сохранений git stash list
Сбрасывает последние временно сохранённыe изменения git stash drop
Github - крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Веб-сервис основан на системе контроля версий Git и разработан на Ruby on Rails и Erlang компанией GitHub, Inc. https://github.com/
- git init - инициализация локального репозитория
- git status - получить информацию от git о его текущем состоянии
- git add - добавить файл или файлы к следующему коммиту
- git commit -m "message" - создание коммита
- git log - вывод на экран истории всех коммитов с их хеш-кодами
- git checkout - переход от одного коммита к другому
- git checkout master - вернуться к актуальному состоянию и продолжить работу
- git diff - увидеть разницу между текущим файлом и закомимиченным файлом
echo "# [название репозитория]" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin [url-адрес]
git push -u origin main
