java практика: команды git
java практика сайт
ссылка на github

ОСНОВНЫЕ КОМАНДЫ GIT

Полный список команд git довольно обширен, поэтому здесь приведены только основные - те, которые использую чаще всего.

Создание git репозитория

Инициализация нового git репозитория в текущей папке:

git init

С помощью команды...

ls -a

...можно увидеть, что появилась скрытая папка с репозиторием:

.git/

Клонирование git репозитория

Скачать (склонировать) удаленный репозиторий на локальный компьютер:

git clone https://github.com/example...

Установка имени и email

Установить email и имя пользователя:

git config --global user.email "example.com"
git config --global user.name "UserName"

Посмотреть установленные имя и email:

git config --global user.email
git config --global user.name

Создание файла .gitignore

Вывести информацию о текущем состоянии репозитория:

git status

Некоторые файлы обычно не отслеживают и отправляют в .gitignore (например, file.class).

Создать пустой файл .gitignore в корне проекта:

vim .gitignore

Исключить от отслеживания все файлы с расширением .class, добавив в файл запись:

*.class

Создание коммитов

Добавить file в отслеживаемые (т.е. его изменения будут отслеживаться):

git add file

Добавить все файлы из текущей папки в отслеживаемую зону (кроме указанных в .gitignore):

git add .

Создаем коммит с сообщением "add file":

git commit -m "fix: add file"

Более подробно о правилах написания коммитов можно почитать в статье:

Показать историю коммитов:

git log

Сокращенный вывод истории коммитов (по одной строке на каждый коммит):

git log --oneline

Откат к предыдущему коммиту

Удалить все изменения и "откатиться" на один коммит назад:

git reset --hard HEAD~1

Чтобы "откатить" изменения к определенному коммиту, необходимо написать его хеш вместо HEAD.

"Откатить" изменения на один коммит, сохранив изменения в файлах (они останутся в staged-состоянии, как после git add):

git reset --soft HEAD~1

"Откатить" изменения, сохранив изменения в файлах, но не добавляя их в staged-состояние:

git reset --mixed HEAD~1

или

git reset HEAD~1

Работа с ветками

Показать список доступных веток:

git branch

Создать новую ветку:

git branch feature_1

Переключиться на ветку:

git switch feature_1

Слияние изменений

Слить изменений из указанной ветки (feature_1) в текущую:

git merge feature_1

Работа с удаленным репозиторием

Вывести список удаленных репозиториев (remotes):

git remote -v

Добавить удаленный репозиторий:

git remote add origin https://github.com/example...

Где origin - это стандартное имя для удаленных репозиториев.

Отправить изменения в удаленный репозиторий origin ветки master:

git push origin master

Получить изменения из удаленного репозитория origin в локальный, в ветку master:

git pull origin master

Сохранить логин и пароль для доступа в git репозиторий:

git config --global credential.helper store

После выполнения команды необходимо ввести логин и пароль (например, при git push). Введенные данные сохранятся в файле ~/.git-credentials и в последующем не будут запрашиваться.