Срок работы пробной версии продукта истек. Через две недели этот сайт полностью прекратит свою работу. Вы можете купить полнофункциональную версию продукта на сайте www.1c-bitrix.ru. ДеАкс - Шпаргалка
вход   
 
 

Команды GIT

Скопировано в буфер
весь список раздела "Шпаргалка"


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