Menu
Coddy logo textTech

Git песочница

Пишите, запускайте и делитесь фрагментами кода - без установки.

Git-терминал
user$ git init
user$ echo "hello" > app.txt
user$ git add app.txt
user$ git commit -m "Add app.txt"
user$ git checkout -b feature
user$ echo "new feature" >> app.txt
user$ git commit -am "Work on feature"
user$ git checkout main
user$ echo "fix" > fix.txt
user$ git add fix.txt
user$ git commit -m "Hotfix on main"
user$ git merge feature
user$
РепозиторийНа ветке main
git log --oneline --graph --all

Коммиты после этого шага

  • ea85bd9 Merge branch 'feature' (HEAD -> main) <- f5363c6, 47b6cfb
  • 47b6cfb Work on feature (feature) <- b2134da
  • f5363c6 Hotfix on main <- b2134da
  • b2134da Add app.txt
  • Рабочее дерево чистое

Каждый запуск заново выполняет весь скрипт и делает снимок репозитория после каждой строки. Нажмите на шаг, чтобы увидеть граф в этот момент.

Попробуйте распространённые команды Git

Git работает и в этом терминале. Загрузите готовый рабочий процесс в командную строку, нажмите «Запустить», чтобы увидеть выполнение каждой команды, и откройте полное руководство по любой команде, которую хотите понять.

Создайте репозиторий и сделайте первый коммитИнициализируйте репозиторий, добавьте файл в индекс, сделайте коммит и проверьте статус.
  1. git init
  2. git config user.name "You"
  3. git config user.email "you@example.com"
  4. echo "# My Project" > README.md
  5. git add README.md
  6. git commit -m "Initial commit"
  7. git status
  8. git log --oneline
Создайте ветку и слейте еёСоздайте ветку, внесите изменение, сделайте коммит, затем слейте ветку обратно в main.
  1. git init
  2. echo "hello" > app.txt
  3. git add app.txt
  4. git commit -m "Add app.txt"
  5. git checkout -b feature
  6. echo "new feature" >> app.txt
  7. git commit -am "Work on feature"
  8. git checkout -
  9. git merge feature
  10. git log --oneline --graph
Отменить последний коммитСделайте коммит, о котором пожалеете, затем отмените его, сохранив изменения.
  1. git init
  2. echo "v1" > notes.txt
  3. git add notes.txt
  4. git commit -m "Add notes.txt"
  5. echo "v2" >> notes.txt
  6. git commit -am "Oops, wrong message"
  7. git reset --soft HEAD~1
  8. git status
  9. git commit -m "Update notes.txt"
  10. git log --oneline

Онлайн-песочница Git с живым графом коммитов

Бесплатная Git песочница, в которой настоящий git работает в изолированном Linux-терминале, а не имитация на JavaScript. Вводите команды слева - git init, git add, git commit, git branch, git merge, git rebase, git reset -, нажимайте Запустить, и панель репозитория справа перерисовывает граф коммитов, ветки, HEAD и рабочее дерево после каждой строки вашего скрипта. Это самый быстрый способ практиковать Git онлайн и по-настоящему увидеть, что сделала каждая команда.

Каждый запуск заново проигрывает весь ваш скрипт из пустой папки и снимает состояние репозитория после каждой инструкции, поэтому можно кликнуть на любой шаг и увидеть граф именно в этот момент. Коммит, который оставил позади git reset, остаётся на картинке приглушённым, чтобы отмена показывала, что именно она отменила. Ничего не нужно устанавливать, аккаунт не нужен, и ни один ваш репозиторий не затрагивается.

Чем эта Git песочница отличается

  • Настоящий Git и настоящий вывод: в песочнице работает подлинный бинарник git под Linux, поэтому сообщения об ошибках, git log --graph, git status и флаги ведут себя так же, как на вашей машине - в отличие от симулятора Git, который знает только команды, смоделированные его авторами. Единственное намеренное отличие: личность автора и даты коммитов зафиксированы, поэтому хеши остаются одинаковыми от запуска к запуску.
  • Граф коммитов, который обновляется после каждой строки: ветки как дорожки, слияния как кривые, HEAD и каждая ссылка как метка на своём коммите, плюс проиндексированные, изменённые, неотслеживаемые и конфликтующие файлы из git status. Кликните по шагу, чтобы перемотать историю сессии.
  • Практикуйте команды, которые ищут чаще всего: отменить коммит, склеить коммиты, сделать rebase на main, cherry-pick, stash, разрешить конфликт слияния, безопасно сделать force-push. Загрузите готовый сценарий ниже или откройте любую страницу справочника команд Git и нажмите "Попробовать вживую".
  • Удалённые репозитории без сети: создайте локальный bare-репозиторий, добавьте его как origin и практикуйте git push, git fetch, git pull и git clone на нём. Граф покажет, как origin/main движется рядом с main.
  • Детерминированные запуски: даты и личность автора зафиксированы, поэтому один и тот же скрипт всегда даёт одинаковые хеши коммитов. Поделитесь скриптом с однокурсником - вы оба увидите один и тот же граф.

Что попробовать в Git песочнице

  • Ветка и слияние: git checkout -b feature, сделайте коммит в ней, вернитесь на main, закоммитьте и там, затем git merge feature - и смотрите, как коммит слияния соединяет две дорожки.
  • Безопасная отмена: сделайте коммит, о котором пожалели, выполните git reset --soft HEAD~1 и посмотрите, как коммит гаснет на графе, а ваши изменения возвращаются проиндексированными файлами. Затем попробуйте git revert и сравните.
  • Rebase против merge: постройте одну и ту же историю из двух веток дважды, одну завершите через git merge, другую через git rebase main, и сравните форму двух графов рядом.
  • Конфликт слияния намеренно: измените одну и ту же строку в двух ветках, слейте их и посмотрите, как файл попадает в строку Конфликты. Исправьте его, git add, git commit - и конфликт исчезнет.

FAQ по Git песочнице

Эта Git песочница бесплатная?
Да. Git песочница бесплатна, регистрация и установка не нужны. Откройте страницу, введите команду и нажмите Запустить.
Это настоящий Git или симуляция?
Настоящий Git. Каждый запуск выполняет ваш скрипт подлинным бинарником git внутри изолированного Linux-контейнера, поэтому команды, флаги, вывод и сообщения об ошибках совпадают с тем, что вы видите локально. Намеренно добавлены две вещи: личность автора по умолчанию (которую ваш собственный git config user.name переопределяет, как и локально) и закреплённые даты коммитов, чтобы хеши коммитов были одинаковыми при каждом запуске. Ничто не может запросить у вас ввод посреди запуска, поэтому интерактивной команде вроде git rebase -i нужен заданный скриптом редактор - примеры показывают, как это сделать.
Как работает граф коммитов?
После каждой инструкции скрипта песочница записывает коммиты репозитория, ссылки, HEAD, список stash и git status. Страница строит граф из этих снимков: одна дорожка на ветку, слияния кривыми, каждая ссылка меткой. Нажмите на номер шага, чтобы увидеть репозиторий таким, каким он был сразу после этой строки. В очень длинной сессии предыдущие команды фиксируются только в самом конце, и полоса шагов показывает лишь те состояния, которые действительно были записаны.
Можно ли здесь практиковать ветвление, слияние и rebase?
Да - именно для этого и нужен граф. Создавайте ветки, коммитьте в них, сливайте, делайте rebase, cherry-pick, reset и revert и смотрите, как каждая операция меняет картинку. Это практичная альтернатива игре про ветвление, с настоящим Git под капотом.
Можно ли использовать git push, pull, fetch и clone?
С локальным удалённым репозиторием - да. У песочницы нет доступа к сети, поэтому git clone https://… не дотянется до интернета. Создайте bare-репозиторий в подпапке (git init --bare remote.git), добавьте его как origin и делайте push, fetch, pull и clone с него: ветки удалённого отслеживания появятся в графе так же, как с GitHub.
Сохраняется ли моя работа между запусками?
Нет. Каждый запуск начинается с пустой папки и заново проигрывает весь скрипт - именно это и делает возможной шкалу шагов. Держите команды в поле ввода (Shift+Enter добавляет строку) и используйте Сбросить, чтобы вернуться к стартовому скрипту.
Чем это отличается от онлайн-терминала Linux?
Это тот же изолированный терминал - Git работает и там - только с добавленной панелью репозитория. Страница терминала Linux нужна для команд и скриптов оболочки; эта страница собирает вашу сессию так, чтобы граф коммитов и состояние рабочего дерева фиксировались после каждой строки.
Есть ли курс, который учит Git с нуля?
Да. Бесплатный курс Git от Coddy ведёт от git init к веткам, слияниям, rebase и удалённым репозиториям с проверяемыми упражнениями, а на каждой странице справочника команд Git есть кнопка "Попробовать вживую", которая открывает эту песочницу с готовым примером.