Команды Git

Начал пользоваться Git и составил список всех необходимых команд.

$ git init [project_name] # Создание репозитория с заданным именем $ git clone [repo_url] [catalog_name] # Клонирование удалённого репозитория в заданный каталог $ git add [file_name] # Добавление файла в репозиторий $ git add -all # Добавление всех файлов в репозиторий $ git rm [file_name] # Удаление файлов из репозитория $ git rm --cached [file_name] # Удаление файла из индекса $ git status # Проверка состояния файлов $ git commit -m "Commit message" # Фиксация изменения $ git commit -a -m "Commit message" # Фиксация изменения без необходимости индексации $ git reset HEAD [file_name] # Удаление файла из коммита $ git commit --amend # Изменение последнего коммита $ git checkout -- [file_name] # Отмена изменения файла $ git diff # Просмотр последних изменений & git diff --cached # Просмотр проиндексированных изменений $ git mv [file_name_before] [file_name_after] # Переименование файла $ git log # Просмотр истории коммитов $ git log -5 # Просмотр определённого числа последних коммитов $ git log --stat # Статистика коммитов $ git log --pretty=format:"%s - %an, %ad, %h" # Более удобный вывод истории коммитов $ git remote # Список настроенных удалённых репозиториев $ git remote -v # Просмотр URL удалённых репозиториев $ git remote add [repo_name] [repo_url] # Добавление удалённого репозитория $ git fetch [repo_name] # Скачивание данных из удалённого репозитория $ git fetch [repo_name] master # Скачивание данных из ветки удалённого репозитория $ git pull [repo_name] # Скачивание данных из удалённого репозитория и слияние их с локальным $ git pull [repo_name] master # Скачивание данных из ветки удалённого репозитория и её слияние с локальной $ git push [repo_name] # Отправка данных в удалённый репозиторий $ git push [repo_name] master # Отправка данных в ветку удалённого репозитория $ git remote show [repo_name] # Просмотр информации об удалённом репозитории $ git remote rename [repo_name_before] [repo_name_after] # Переименование удалённого репозитория $ git remote rm [repo_name] # Удаление удалённого репозитория $ git branch [branch_name] # Создание ветки $ git checkout [branch_name] # Переход в ветку $ git checkout -b [branch_name] # Быстрое создание ветки и переход в неё $ git branch # Список веток (звездочкой будет отмечена текущая ветвь) $ git merge [branch_name] # Слияние определённой ветку с текущей $ git branch -D [branch_name] # Удаление ветки $ git branch -d [branch_name] # Удаление ветки после слияния $ git push [repo_name] :[branch_name] # Удаление ветки из удалённого репозитория $ git tag # Просмотр меток $ git tag -a v1.0 -m "Tag message" # Создание аннотированной метки $ git tag -s v1.0 -m "Tag message" # Создание подписанной метки $ git tag v1.0-lw # Создание легковесной метки $ git show v1.0 # Просмотр данных метки $ git push [repo_name] [tag_name] # Отправка метки в удалённый репозиторий $ git push [repo_name] --tags # Отправка всех меток в удалённый репозиторий $ git config --global alias.[reduction] [command] # Создание алиаса $ git show [SHA-1_hash] # Просмотр изменений в определённом коммите $ git stash # Сохранение незафиксированных изменений $ git stash list # Просмотр списка незафиксированных изменений $ git stash apply # Применение последнего незафиксированного изменения $ git stash apply --index # Применение последнего незафиксрованного изменения с добавлением в индекс $ git stash apply stash@{5} # Применение определённого незафиксированного изменения $ git blame [file_name] # Просмотр автора изменений в файле $ git reset --hard [SHA-1_hash] # Откат к коммиту с изменением файлов $ git reset --soft [SHA-1_hash] # Откат к коммиту без изменения файлов $ git clean -f # Удаление неиндексируемых файлов