Создание репозитория:
git init
Добавление к коммиту забытого файла:
git commit -m "new commit"
git add forgeten_file
git commit --amend // добавляет к комиту "new commit" файл forgeten_file
Удаление ранее добавленного файла из индекса:
git reset HEAD added_file
Возврат файла в состояние в котором он был в предыдущим комите
git checkout -- previuos_version_file
Возврат на определенный коммит
git checkout <hash|tag>
Переключение на ветку (с параметром -f для переключение наверняка)
git checkout <branch>
Переключение по имени тэга
git checkout <tag name>
Переключение на коммит предшествующий тэгу <tag name>
git checkout <tag name>^
git checkout <tag name>~<count of commits>
Установка тэга
git tag <tag name>
Удаление тэга (уборка)
git tag -d <tag name>
Отмена изменений в рабочем каталоге
git checkout <file name>
Отмена изменений в индексе
git reset HEAD <file name>
Изменение предыдущего коммита
git commit --amend -m "Edit commit"
Очистка от untracked фалов
git clean -fdx
Отмена коммитов (полезная ссылка)
git revert <HEAD or hash> --no-edit
Сброс коммитов к предшествующему коммиту
git reset --hard <hash|tag>
А так еще и перетрет историю коммитов (даже на origin)
git push origin <branch> --force
git branch <name branch>
git checkout <name branch>
или
git checkout -b <name branch>
Вот как можно восстановить потеряные файлы
git fsck --lost-found
и файлы складываются в папку .git/lost-found/other/