Команда | Описание |
Пользователи и учетные записи | |
git config --global --list | Посмотреть информацию по текущему пользователю git |
git config --global user.name | Посмотреть имя пользователя |
git config --global user.name "Name" | Сменить пользователя к коммитам на желаемое |
Фиксация изменений | |
git update-index --skip-worktree file_to_ignore.php | Установить флаг игнорирования в отслеживаемом файле |
git update-index --no-skip-worktree file_to_track.php | Убрать флаг игнорирования для файла |
git push origin master | Залить изменения в репозиторий в ветку |
git reset --hard HEAD | Отменить изменения во всейх файлах и вернуться в изначальное состояние ревизии (на момент последнего коммита). Полезно, когда было внесено много ненужных изменений, например, добавил модуль в проект или массово перезаписал файлы, а потом осознал, что это было лишнее! |
Отмена изменений | |
git checkout path/to/file.js | Отменить изменения в одном конкретном файле |
git revert HEAD | Отмена последнего коммита с записью в истории. |
Stash | |
git stash | Спрятать изменения |
git stash save "Message" | Спрятать изменения с сообщением |
git stash list | Вывести список всех прятаний |
git stash apply | Вытащить последнее прятание |
git stash apply stash@{1} | Вытащить конкретное прятание (Если их несколько) |
git stash pop | Вытащить последнее прятание и удалить его |
git stash pop stash@{1} | Вытащить конкретное прятание и удалить его |
git stash drop | Удалить последнее прятание |
git stash drop stash@{3} | Удалить конкретное прятание |
git checkout stash@{0} -- routes/api.php | Вытащить конкретный файл из конкретного прятания |
git stash save --include-untracked (-u) | Спрятать также файлы, которые не добавлены в отслеживание (Красные) |
Изменить origin адрес репозитория
1. Команда
git remote set-url origin git@github.com:vicman-wi/wi-backend.git
2. Файл
Отредактировать файл .git/config: секция [remote "origin"] параметр - url.
Залить измененный коммит (--amend) в репозиторий
git push --force origin master
**Данная конструкция актуальна только в случае одиночной разработки (не в команде)
Отмена последнего коммита
Удаление последнего коммита
При условии, что это локальный репозиторий
git reset HEAD~
Полное удаление последнего коммита, включая все изменения:
git reset --hard HEAD~1
Изменить автора коммита
Последний коммит
git commit --amend --author 'Author Name <author.name@mail.com>' --no-edit
Последние несколько коммитов
git rebase -i HEAD~4 -x "git commit --amend --author 'Author Name <author.name@mail.com>' --no-edit"
--no-edit
флаг гарантируетgit commit --amend
, что не запрашивает дополнительное подтверждение- при использовании
git rebase -i
можно вручную выбрать коммиты, в которых нужно изменить автора
Примечание. Если коммиты, в которых нужно поменять автора, были уже запушены то может быть создан дополнительный коммит на изменение автора и это может потерять целесообразность. Важно удалить ветку в репозитории (если это возможно)
Изменить дату коммита
- Дату последнего коммита на текущую -
git commit --amend --no-edit --date=now
. - Дату последнего коммита на произвольную -
git commit --amend --no-edit --date="2018.09.25 12:00"
.