Песочница моделирует реальный git: у репозитория есть рабочее дерево, индекс (staging area), объекты-коммиты с «хешами», ветки, теги и HEAD (в т.ч. detached). Граф коммитов слева выводится из настоящей модели, справа — псевдо-терминал с выводом команд, как у git.

Команда write <файл> <текст> создаёт/меняет файл в рабочем дереве — её нет в настоящем git, она нужна, чтобы было что добавлять в индекс и коммитить.

Поддерживаемые команды

Работа с файлами и индексом

  • write <файл> <текст> — служебная команда песочницы: записать содержимое файла в рабочее дерево
  • git status — показать состояние рабочего дерева и индекса
  • git add <файл> / git add -A / git add . — добавить изменения в индекс
  • git rm <файл> / git rm --cached <файл> — удалить файл из индекса (и рабочего дерева)

Фиксация изменений

  • git commit -m "сообщение" — зафиксировать индекс в коммит
  • git commit -am "сообщение" — добавить отслеживаемые изменения и сразу закоммитить
  • git log / git log --oneline — история коммитов с указанием веток и тегов

Ветки и переключение

  • git branch — список веток
  • git branch <имя> [точка] — создать ветку
  • git branch -d <имя> — удалить ветку
  • git checkout <ветка|хеш> — переключиться (по хешу — detached HEAD)
  • git checkout -b <имя> / git switch -c <имя> — создать и переключиться
  • git merge <ветка> — слияние: fast-forward, merge-коммит или конфликт
  • git reset [--soft|--mixed|--hard] <ревизия> — сдвинуть HEAD/индекс/рабочее дерево
  • git tag <имя> / git tag -d <имя> — теги

Прочее

  • git init — инициализация (репозиторий уже создан)
Стрелки ↑/↓ листают историю успешно выполненных команд. Кнопка обновления сбрасывает репозиторий.

Пример сессии

write readme.md "Привет"
git add readme.md
git commit -m "Первый коммит"

git checkout -b feature
write app.js "console.log(1)"
git add app.js
git commit -m "Добавил app.js"

git checkout main
write license.txt "MIT"
git add license.txt
git commit -m "Добавил лицензию"

git merge feature
git log --oneline