Песочница моделирует реальный 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