Решил изучить возможности работы с GIT из командной строки. В результате получился список основных команд, дающий возможность успешно использовать основные возможности GIT.
Установка имени и электронной почты
git config --global user.name "Your Name"
git config --global user.email "your_email@whatever.com"
Параметры установки окончаний строк
git config --global core.autocrlf true
git config --global core.safecrlf true
Создание репозитория
git init
Добавление страницы в репозиторий
git add hello.html
git commit -m "First Commit"
git add . – добавит все изменения каталога
без –m комментарий будет писаться в редакторе по умолчанию
Проверка статуса репозитория
git status
История изменений
git log
Однострочная история изменений
git log --pretty=oneline
git log --pretty=oneline --max-count=2
git log --pretty=oneline --since='5 minutes ago'
git log --pretty=oneline --until='5 minutes ago'
git log --pretty=oneline --author=
git log --pretty=oneline –all
- --pretty="..." — определяет формат вывода.
- %h — укороченный хэш коммита
- %d — дополнения коммита («головы» веток или теги)
- %ad — дата коммита
- %s — комментарий
- %an — имя автора
- --graph — отображает дерево коммитов в виде ASCII-графика
- --date=short — сохраняет формат даты коротким и симпатичным
Алиасы
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short'
git config --global alias.type 'cat-file -t'
git config --global alias.dump 'cat-file -p'
файл .GITCONFIG
[alias]
co = checkout
ci = commit
st = status
br = branch
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
type = cat-file -t
dump = cat-file -p
Последняя версия в ветке master
git checkout master
Создание тега
git tag tagName
Просмотреть доступные теги
git tag
Отмена изменений в рабочем каталоге
git checkout
gitk — графическая утилита, которая показывает наш граф. В качестве ключей передаём имена веток или --all, чтобы показать все
Отмена индексации изменений
git reset HEAD <имя файла>
Коммит с новыми изменениями, отменяющими предыдущие
git revert HEAD
Сброс коммитов к предшествующим коммиту
git reset --hard tagName
Сброс ветки по хэшу
git reset --hard <хэш номер>
Удаление тега tagName
git tag -d tagName
Удалит таг tagName и все коммиты, на которые он ссылается.
Внесение изменений в предыдущий коммит
git commit --amend -m "This is comments"
Перемещение файлов
git mv filename dirName
mv – перемещает файл
rm – удаляет файл
Создать новую ветку
git checkout -b <имя ветки>
Перемещение между ветками
git checkout <имя ветки>
Слияние веток
git checkout <име первой ветки>
git merge <имя второй ветки>
Клонирование репозитория
git clone <имя исходного> <имя клона>
Список доступных веток
git branch
git branch –a – все доступные ветки
Извлечение изменений
git fetch
git merge origin/master – извлечение изменений в локальную версию
Извлечение и слияние изменений
git pull
Эквивалентна
git fetch и
git merge
Отправка изменений
git push