mkdir test - создать папку test
cd test - войти в папку test
pwd - вывести путь к текущей локации
touch test.html - создать файл test.html
git init - создать git-репозиторий из текущей папки
git config --global user.name "Smit" - Имя автора коммита, если указана опция --global действует для всей системы
git config --global user.email smit@mail.com - email автора коммита, если указана опция --global действует для всей системы
git config --global color.ui true - цветной вывод информации, вместо монохромного
git config - проверить используемую конфигурацию
git config user.name - проверить значение конкретного ключа
git config --global core.autocrlf false - в паре со следующей командой отключить проверку формата
git config --global core.safecrlf false - в паре с предыдущей командой отключить проверку формата
git config core.editor notepad - установить редактор notepad (Блокнот windows) для Git, ещё есть wim (установлен по умолчанию) и nano
git add test.html - добавит файл test.html на коммит кандидат, индексация файла
git add * - добавит все файлы на коммит кандидат, индексация всех файлов
git add . - добавит все файлы из текущей папки на коммит кандидат, индексация всех файлов из текущей папки
git add --all - добавит все файлы из текущей папки и подпапок на коммит кандидат, индексация всех файлов из текущей папки и подпапок
git rm test.html - удалить файл test.html
git rm test.html -f - удалить файл test.html, даже если есть изменения в индексе
git rm my_folder -r - удаление каталога my_folder
git clean -f - удаление неотслеживаемых файлов
git clean -f -n - ключ -n холостой прогон команды - удаление неотслеживаемых файлов
git clean -d -f - удаление пустых каталогов
git clean -d -f -n - ключ -n холостой прогон команды - удаление пустых каталогов
git mv test.html test.txt - переименовать файл "test.html" в "test.txt"
git mv styles.css styles - перемещение файла "styles.css" в папку "styles"
git mv *.html web_pages - перемещение набора файлов по шаблону, здесь с расширением ".html" в папку "web_pages"
git checkout -- test.html - отмена изменений файла test.html (! нет обратного действия)
git diff - что изменили, но пока не проиндексировали
git diff --cached - вывод изменений, добавленных в индекс
git diff --staged - то же, что и команда "git diff --cached"
git diff --word-diff - фоматирование изменений по словам, а не по строкам
git diff -w - исключение пустых строк из вывода
git diff HEAD~1 - вывод изменений после HEAD~1 и до HEAD
git diff #commit_id# - указание хэша коммита для вывода изменений после него
git diff #commit_id1# #commit_id5# - вывод разницы между двумя указанными коммитами
git diff #commit_id1# #commit_id5# --name-only - вывести только список файлов, измененных с указанного коммита и до текущего состояния репозитория
git diff HEAD~1 web_pages/index.html - вывод изменений в конкретном файле после указанного коммита
git diff index.html page2.html - сравнение двух произвольных файлов, даже вне git-репозитория
git difftool #commit_id# - указание хэша коммита для вывода изменений после него с помощью утилиты difftool
git show - показать детальную информацию о последнем коммите
git show #commit_id# - показать детальную информацию об указанном коммите
git show --name-only
git show #commit_id1# #commit_id5# - вывод всех коммитов с изменениями между двумя коммитами
git show HEAD~1:styles/styles.css - просмотр изменений файла в определённом коммите
git commit -m "First Commit" - добавит коммит из кандитатов в кавычках наименование коммита
git commit --amend - изменяет последний коммит
git commit -a -m 'Name Commit' - индексация всех файлов и добавление коммита, можно обойтись без git add
git commit -am 'Name Commit' - то же, что и "git commit -a -m 'Name Commit'"
git status - текущее состояние репозитория
git log - история репозитория
git log --pretty=oneline - история репозитория коммит в одну строку
git log --pretty=oneline --all - история репозитория все коммиты в одну строку
git log --max-count=3 - история репозитория 3 последних коммита
git log --author="test" - история репозитория по автору "test"
git log --pretty=format:"%h - %s : %ad [%an]" - история репозитория по своему формату %h-короткий хеш, %s-комментарий, %ad-дата, %an-автор
git log --date=short - история репозитория с короткой датой
git checkout d917d0b21e071bbe9bcbd0abd96586eaef4397a0 - откатить к хешу № d917d0b21e071bbe9bcbd0abd96586eaef4397a0
git reset HEAD test.txt - вернуть состояние файла, ветки, коммита HEAD-к началу или к хешу
git reset HEAD~1 - перемещает указатель HEAD на один коммит назад и убирает изменения из индекса, но сохраняет их в рабочей директории.
git reset --mixed HEAD~1 - то же, что и "git reset HEAD~1".
git reset --soft HEAD~1 - перемещает указатель HEAD на один коммит назад, сохраняя изменения из последнего коммита в индексе.
git reset --hard HEAD~1 - отменяет все изменения из последнего коммита, фактически удаляя его из репозитория.
git reset HEAD test.html - исключить файл test.html из индекса
git revert HEAD - удаление изменений коммита HEAD- последнего(HEAD~1 предпоследнего), будет создан новый коммит
git revert #commit_id# - удаление изменений коммита до хеша, будет создан новый коммит
git revert HEAD --no-edit - то же, что и "git revert HEAD", но без предложения правки сообщения
git revert #commit_id_1#..#commit_id_5# - откатить серию коммитов, (!)коммит #commit_id_5# не попадёт под действие команды
git revert #commit_id# --no-commit - откатить коммит без создания нового коммита (изменения попадают в индекс)
git revert --abort - отменить незавершенный откат коммита
gitk - открыть редактор по умолчанию
git branch testing - создать ветку под названием testing
git checkout testing - перейти на ветку под названием testing
git checkout -b testing - создать и сразу перейти на ветку под названием testing
git checkout master - перейти на ветку по умолчанию под названием master
git checkout --track origin/testing - клонировать ветку testing из удалённого репозитория, создать, если нет, такую же и сразу перейти на неё
git branch -d testing - удалить ветку под названием testing(не удалится, если есть наработки)
git branch -D testing - удалить ветку под названием testing с потерей наработок
git merge testing - слить ветку под названием testing с текущей веткой
git merge --abort - прервет процесс слияния и попытается восстановить состояние перед слиянием, если вы еще не зафиксировали слияние и у вас есть конфликт слияния.
git branch - простой список имеющихся веток (* - текущая ветка) git branch -v - последний коммит на каждой из имеющихся веток (* - текущая ветка) git branch --merged - список веток слитых с текущей (* - текущая ветка) git branch --no-merged - список веток не слитых с текущей (* - текущая ветка) git remote add origin https://github.com/login/name_repository.git - связать локальный репозиторий с репозиторием на GitHub(origin) git remote add -v - показать связь локального репозитория судалённым репозиторием (origin) git remote set-url origin https://gitlab.com/ваш-юзер/репозиторий.git - перепривязка локального репозитория к удалённому репозиторию на GitLab(origin) git push origin master - обновить данные(master) в удаленном репозитории(origin) git push -f origin master - принудительно обновить данные(master) в удаленном репозитории(origin). Без -f будет ругаться что у вас версия младше и вам надо сделать pull git push --set-upstream origin test - создать ветку test и добавить в неё данные из текущей в удаленном репозитории(origin) git push -u origin --all - пушим все ветки в новый удаленный репозиторий git clone https:github.com/login/name_repository.git - Клонирование репозитория git clone --depth=5 https:github.com/login/name_repository.git - Клонирование репозитория на заданную глубину коммитов (здесь 5 коммитов) git clone https:github.com/login/name_repository.git #путь к папке# - Клонирование репозитория сразу в заданную папку git pull origin master - запрос изменений с сервера git fetch origin - забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует их git reset --hard origin/master - приводит файловую структуру и историю коммитов текущей ветки к тому состоянию, в котором сейчас находится удалённая ветка master git reflog --date=local - вызывается журнал ссылок HEAD c датой
Скачать GIT для Windows можно здесь: https://git-scm.com/downloads/win Настройка Git: https://git-scm.com/book/ru/v2/Введение-Первоначальная-настройка-Git