====== Git ====== ==== Вызов справки ==== git help git help ==== Список игнорируемых файлов в git ==== Создать файл .gitignore в каталоге проекта и перечислить файлы, каталоги ключевыми фразами [[https://www.toptal.com/developers/gitignore|Онлайн сервис для .gitignore]] ===== Глобальные настройки Git ===== ==== Информация о разработчике ==== git config --global user.name "Your Name" git config --global user.email "Your e-mail" ==== Редактор для Git по умолчанию ==== git config --global core.editor "" ===== Управление Git ===== ==== Создать Git директорию в каталоге проекта ==== git init ==== Просмотреть статус проекта ==== git status ==== Указать что файл исполняемый (Для Linux систем из Windows) ==== Если файл индексируется git update-index --chmod=+x Если добавляем файл первый раз git add --chmod=+x ==== Просмотр информации о состоянии ==== git show Просмотр кратко git show --quiet Просмотр предыдущих Commit git show HEAD~ git show HEAD~~~ git show HEAD~3 ==== Просмотреть историю Commit ==== git log git log Просмотр списком git log --oneline git log --oneline ==== Просмотр истории перемещений по веткам ==== git reflog git reflog git reflog --date=iso cat ./git/logs/ ===== GIT ADD ===== ==== Добавить файл в индексацию ==== Если файл удален, убрать его из индексации аналогичным способом git add ==== Добавить все файлы из текущего каталога ==== git add . ==== Добавить все изменения ==== git add -A ==== Отменить добавление ==== git reset HEAD ==== Добавить изменения в файле выборочно ==== git add -p ===== GIT COMMIT ===== ==== Создать Commit ==== Фиксация проекта в репозитории Git git commit -m "Message" Указать автора (стороннего) commit git commit -m "Message" --author="Autor Name " ==== Сделать commit с комментарием от предыдущего commit ==== git commit -C ORIG_HEAD Откроет редактор для правки комментария git commit -c ORIG_HEAD ==== Внесение исправлений в commit ==== git commit --amend ===== GIT ADD + COMMIT ===== ==== Добавить все изменения в Commit ==== Способ подходит для небольших изменений (кроме не отслеживаемых файлов Git-ом) git commit -am "Message" ==== Добавить файлы выборочно в Commit ==== git commit -m "Message" ===== GIT RM ===== ==== Удалить файл/каталог из проекта и GIT ==== git rm git rm -r Удалить игнорируя предупреждения git rm -f git rm -r -f ==== Удалить файл/каталог из индексации, но оставить в проекте ==== git rm --cached git rm -r --cached ===== GIT MV ===== ==== Переименование файла ==== git mv ===== GIT BRANCH ===== ==== Просмотр текущей ветки ==== git branch Просмотр ветки с информацией о Commit git branch -v ==== Создать новую ветку ==== git branch Создать и переключиться на новую ветку git branch -b ==== Переместить ветку на Commit или ветку ==== git branch -f git branch -f ==== Переместить ветку на Commit до слияния ==== git branch -f master ORIG_HEAD ==== Удалить ветку ==== Удаление произойдет если слияние было успешно git branch -d Удаление ветки с изменениями (Commit) git branch -D ===== GIT CHECKOUT ===== ==== Переключение на другую ветку ==== Переключает HEAD git checkout ==== Переключиться без сохранения изменений ==== С потерей правок git checkout -f ==== Создать новую ветку и переключиться на нее с новыми изменениями ==== git checkout -b ==== Отменить все изменения ==== Переключение на последний Commit git checkout -f HEAD ==== Переключиться на другой Commit и перенести ветку ==== git checkout -B ==== Добавить в текущую ветку файл/каталог из другого Commit или ветки ==== git checkout ==== Переключиться на предыдущую ветку ==== git checkout - ===== GIT STASH ===== ==== Архив изменений ==== Если требуется переключиться на другую ветку, но Commit не готов git stash Вернуться в исходное состояние (главное вернуться на ту ветку где был сделан архив) git stash pop ===== GIT MERGE ===== ==== Делаем слияние веток ==== Добавить изменения из другой ветки в текущую git merge ===== GIT RESET ===== История git reflog master Изменения записываются в файл: cat ./git/ORIG_HEAD ==== Отмена последних commit ==== Со временем удаленные commit удалятся git reset --hard @~ git reset --hard ==== Отменить reset ==== git reset --hard ORIG_HEAD ==== Мягкий reset ==== Отменяет commit, но оставляет изменения git reset --soft @~ ==== Смешанный reset, сбрасывает индексацию ==== Используется по умолчанию git reset --mixed @~ git reset @~ Сброс индексации в текущем commit git reset HEAD Убрать файл из индексации git reset