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 origin
git 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