Шпаргалка Git команд

Шпаргалка Git команд


freelanceland
Ищете фрилансера для выполнения задач?

Шпаргалка по git

. Пошаговое руководство: как выполнить слияние веток в git, как создать новую ветку и репозиторий, как выписать ветку с github и т.п. Инструкции по git для начинающих.

Git – это распределенная система контроля версий. Это главное отличие git от svn. Каждый разработчик создает на своем компьютере отдельный, полноценный репозиторий.

git config --global user.name 'Alexander' создаем глобального пользователя
git config --global user.email est @mail.ru создаем email глобального пользователя
git init создать репозеторий
git status получаем статус изменений
git add (-a добавит в индекс все файлы | или название файла) добавить файл для отслеживания
git diff просморт неидексированных изменений
git diff --cached просморт идексированных изменений
git commit -m "name commit" коммит
git commit -a -m "name commit" комиит с автоматическим добавление в индекс отклеживаемых файлов
git rm "name commit" удаление файлов (из индекса, коммит)
git rm --cached readme.txt удалить файл из индекса
git mv file_from file_to перемещение/переименование файла
git clone git://github.com/schacon/simplegit-progit.git копирование репозитория
git log список комитов
git log --pretty=oneline список коммитов (в 1 строку параметры)
git log -p -2 последние 2 коммита с дельтой разница(-p)
git log --abbrev-commit --pretty=oneline показывает коммит с кратким хешем --abbrev-commit
$ git log --pretty=format:"%h - %an, %ar : %s" список коммитов в строку (вывод по шаблону)
git log master..experiment все коммиты experiment которых нет в master
git log origin/master..HEAD все коммиты в текущей ветке, которых нет в ветке master на сервере origin
git reset HEAD benchmarks.rb отмена последнего действия с файлом (удаление файла из индекса)
git commit --amend добавляет в последний коммит изменения (проиндексированыые)
git checkout -- benchmarks.rb отмена изменений в файле (возврат к состоянию предидущего коммита)
cd переход в директорию
mkdir создание деректории
touch создание файла
git remote show origin посмотреть инфу о удаленном репозитории origin
git remote -v просмотр удаленных репозеториев
git remote add pb git://github.com/paulboone/ticgit.git Добавить удаленный репозиторий
git remote add dv ssh://user@domen.ru:22/data/sites/site.ru
где:
user - пользователь
domen.ru - сервер
22 - порт
/data/sites/site.ru - папка сайта

Для разрешения доступа push/pull
git config receive.denyCurrentBranch ignore
Добавить удаленный репозиторий (подключаемся по ssh)
git remote rename pb paul переименование удаленного репозитория
git remote rm paul удаление удаленного репозитория
git fetch pb получить свежие данные с репозитория pb
git pull pb получить свежие данные с репозитория pb + пытается слить ветки
git push origin master поделить данными с репозеторием origin ветка master
git tag список меток
git tag -a v1.4 -m 'my version 1.4' добавить аннотированную метку
git tag v1.4-lw добавить легковесную ветку (уменьшенная инфа)
git tag -a v1.2 -m 'version 1.2' 9fceb02 добавление метки к коммиту
git show v1.4 посмотреть данные метки, изменения в коммите
git show master@{yesterday} где верхушка ветки находилась вчера
git push origin v1.5 отправить метку в удаленный репозиторий
git push origin --tags отправить все метки в удаленный репозиторий
git branch testing создать ветку
git branch testing test создать ветку testing на основе ветки test
git checkout -b iss53 создать ветку и сразу перейти на нее
git checkout -b iss53 test создать ветку iss53 (и сразу перейти на нее) на основе test
git checkout -b rubyclient jessica/ruby-c создать ветку rubyclient на основе ветки ruby-c удаленного репозитория jessasica
git checkout testing перейти в ветку
git merge hotfix обьединение веток
git branch -d hotfix удаление слитой ветки
git branch -D hotfix удаление ветки (не слитой, принудительно)
git branch список веток
git branch -v список веток с последним коммитом
git branch --merged список веток слитых с текущей
git branch --no-merged список веток не слитых с текущей
git push origin :serverfix удалить ветку на удаленном сервере
git push origin featureB:featureBee отправить локульную ветку featureB в удаленную ветку featureBee
git checkout experiment git rebase master перемещение коммита из одной ветки в другую
git checkout origin/branch переключиться на удаленную ветку
git checkout --track origin/branch переключиться на удаленную ветку и создать локальную для отслеживания
git rebase --onto master server client “переключиться на ветку client, взять изменения от общего предка веток client и server и повторить их на master”.
git rebase master server git checkout master git merge server перемещение ветки server на ветку master без предварительного переключения на эту ветку при помощи команды. выполнить перемотку основной ветки (master)
git push --force переписать изменения на сервере
ssh-keygen генерировтаь открытый ключ
cd ~/.ssh ls посмотреть наличие ssh ключа: .pub - открытый ключ, id_dsa или id_rsa - секретный
cat ~/.ssh/id_rsa.pub посмотреть открытый ключ
git checkout -b featureBv2 origin/master git merge --no-commit --squash featureB Опция --squash берёт всю работу на сливаемой ветке (featureB) и сжимает её в один коммит, не являющийся коммитом-слиянием, и помещает его на верхушку текущей ветки. Опция --no-commit сообщает Git'у, что не нужно автоматически записывать коммит. Это позволит вам внести все изменения с другой ветки и затем сделать ещё ряд изменений перед записью нового коммита.
git format-patch -M origin/master Команда format-patch создаёт файлы с патчами и выводит их названия. Опция -M сообщает Git'у о необходимости отслеживания переименований файлов.
git diff master получить разницу слияния текущей ветки с master
git archive master --prefix='project/' | gzip > `git describe master`.tar.gz создать tar архив слепка ветки
git archive master --prefix='project/' --format=zip > `git describe master`.zip создать zip архив слепка ветки
git shortlog краткая сводка изменений
git checkout -- 4a2f59a32bd1074c42 name_of_file возврат состояния файла к нужному коммиту
git reset --hard 4a2f59a32bd1074c42 возврат всех изменений к нужному коммиту
git log -p feedback_form...origin/feedback_form посмотреть изменения между локальной веткой и удаленной
git merge origin/feedback_form слить локальную ветку с удаленной
git push -u origin feedback_form отправить ветку на удаленный сервер и отслеживать изменения
git config --global alias.st "status" создать алиас для команды
git stash - копилка изменений
git stash save 'NAME' сохранить измененные файлы в копилку
git stash list показать что содержится в копилке
git stash show shash@{0} показать список файлов спрятанных в патч копилки
git stash show -p shash@{0} показать список файлов спрятанных в патч копилки
git stash apply взять все из копилки и положить в рабочую директорию гита (в текущую ветку)
git stash pop взять все из копилки и положить в рабочую директорию гита (в текущую ветку) и удалить из копилки
git stash pop stash@{0} взять патч 0 из копилки
git stash drop stash@{0} удалить патч 0 из копилки
git stash clear удаляет все из копилки

Популярное

Шпаргалка по командам MySQL
Проверка ИНН по контрольной сумме PHP/JavaScript
PHP, округление до 10 или 100 в большую или меньшую сторону

Возврат к списку