git-commands
Заметки по командам git после прочтения книги “Git для профессионального программиста”.
git status [-s]- текущее состояние [короткая запись]git diff [--staged][--name-only] [branch]- изменения [включая индексированные] [имена файлов] [другие ветки]git add -p- добавлять все изменения в индекс, выбрать e, чтобы ещё сильнее делить измененияgit rm [--cashed] <file>- удалить файл [удалить из индекса]git mv <file>- перемещениеgit log--oneline- удобная запись лога коммитовgit log --pretty="%C(Yellow)%h %C(reset)%ad (%C(Green)%cr%C(reset))%x09 %C(Cyan)%an: %C(reset)%s"- один из вариантов записи- ` git config –global alias.work ‘log –pretty=format:”%h%x09%an%x09%ad%x09%s”’` - настройка для вывода
-S <str>- поиск по добавленному коду--pretty=format:"%h - %an, %ar : %s- формат вывода--graph- граф деления веток
git commit --amend- добавление в последний коммит новые измененияgit reset HEAD <file>- отмена индексирования всех или одного файла--hard- сброс изменений во всех файлах, меняет файлы, не сохраняет текущие измененияHEAD^- отмена последнего коммита, после этого изменения можно заново проиндексировать для изменения истории(!)- `HEAD~[цифра] - отмена последних [цифра] коммитов
git checkout <file>- сброс файла к последнему закомиченному состоянию-b <branch>- создать новую ветку от существующей
git stash- спрятать изменения без индексированияpop- взять последние спрятанные изменения и применить к текущему состояниюlist- посмотреть всё спрятанноеapply [stash@{0}]- применить последнее прятанье, не убирает его из стека stashdrop<stash@{0}>- удалить из спискаshow- посмотреть измененияbranch <namebranch>- создание ветки из спрятанного-p- выбрать, что прятать
git pull origingit merge <branch>git diff [--theirs --ours --base]- изменения во время слияния в участвующих ветках
git blame [-L 12,22] <file>- информаци из git по каждой строке файла
Никогда не использовал, но интересно:
git remote -v- побродно написать об удалённых репозиторияхgit remote add origin1 https:/123.com/lala- добавить удалённый репозиторийgit remote show origin- информация о репозиторииgit tag -a v1.2 [-m текст тега] [commit]- добавить тег к текущей записи или к определённому коммиту в историиgit config --list- показать текущие настройкиgit help <command>- справочнаяgit clean -d -f -n- удалить все неотслеживаемые файлы -n - указывает, ничего не удалять, а только показать, что будет удаленоgit grep <str>- поиск по всем файлам-p- показать в каком методе нашли--and- добавочное условие для поиска
git log -L :funclala:lala.c- изменения для функции в файлеgit rebase -i HEAD~3- перезапись последних трёх коммитов и далее по подсказкамgit filter-branch --tree-filter 'rm -f useless.txt [--all ]HEAD- удалить файл из всех коммитов [все ветки]git filter-branch --subdirectoryfilter trunk HEAD- сделать корневой папку trunk, удалить всю историю не в нейgit reset --soft HEAD~2- перезапись последних двух коммитов в одинgit bisect [start,bad,good]- двоичный поиск проблем по историиgit submodule add ....- субмодули
#git