Вики / Базовые команды
git (основы для админа)
Базовый рабочий цикл, ветки, откат, разрешение конфликтов — минимум для работы.
git — система контроля версий. Админу нужен для конфигов-как-кода, IaC, правок в
репозиториях. Минимальный цикл: правка → add → commit → push.
git clone url # склонировать репозиторий
git status # что изменено / в индексе
git add file ; git add -A # добавить в индекс (staged)
git commit -m "сообщение" # зафиксировать
git push # отправить в удалённый
git pull # забрать изменения
git log --oneline -10 # история кратко
git branch # список веток
git switch -c feature # создать и перейти (новее, чем checkout -b)
git switch main # переключиться
git merge feature # влить ветку в текущую
git branch -d feature # удалить влитую ветку
git diff # незакоммиченные изменения (см. diff-patch)
git diff --staged # что в индексе
git restore file # отменить правки файла (вернуть как в HEAD)
git restore --staged file # убрать из индекса (оставив правки)
git revert <commit> # новый коммит, отменяющий указанный (безопасно)
git reset --hard origin/main # ЖЁСТКО вернуть к удалённому (теряет локальное!)
git stash ; git stash pop # отложить правки и вернуть
Merge conflict
В файлах появляются маркеры <<<<<<<, =======, >>>>>>>. Открой, оставь нужное,
убери маркеры, затем git add file и git commit. git status подскажет файлы.
Закоммитил не то / в не ту ветку
git revert <commit> — безопасно отменить (новым коммитом). Локальный последний
коммит — git reset --soft HEAD~1 (вернёт правки в индекс).
Permission denied (publickey) при push
SSH-ключ не настроен/не на сервере — см. ssh-keys. Проверь git remote -v
(ssh vs https).
Случайно сделал reset --hard
git reflog помнит, где был HEAD — можно вернуться: git reset --hard <hash>.
git status ; git add -A ; git commit -m "msg" ; git push
git switch -c feature ; git switch main ; git merge feature
git diff ; git restore file ; git revert <commit>
git log --oneline -10 ; git reflog # история / спасение
git stash ; git stash pop
См. также
- Базовые команды с файлами — Базовые команды
- diff и patch — Базовые команды
- SSH-ключи и ssh-agent — Сеть