Git песочница
Пишите, запускайте и делитесь фрагментами кода - без установки.
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 работает и в этом терминале. Загрузите готовый рабочий процесс в командную строку, нажмите «Запустить», чтобы увидеть выполнение каждой команды, и откройте полное руководство по любой команде, которую хотите понять.
git initecho "hello" > app.txtgit add app.txtgit commit -m "Add app.txt"git checkout -b featureecho "new feature" >> app.txtgit commit -am "Work on feature"git checkout -git merge featuregit log --oneline --graph
git initecho "v1" > notes.txtgit add notes.txtgit commit -m "Add notes.txt"echo "v2" >> notes.txtgit commit -am "Oops, wrong message"git reset --soft HEAD~1git statusgit commit -m "Update notes.txt"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 внутри изолированного Linux-контейнера, поэтому команды, флаги, вывод и сообщения об ошибках совпадают с тем, что вы видите локально. Намеренно добавлены две вещи: личность автора по умолчанию (которую ваш собственный git config user.name переопределяет, как и локально) и закреплённые даты коммитов, чтобы хеши коммитов были одинаковыми при каждом запуске. Ничто не может запросить у вас ввод посреди запуска, поэтому интерактивной команде вроде git rebase -i нужен заданный скриптом редактор - примеры показывают, как это сделать.Как работает граф коммитов?
HEAD, список stash и git status. Страница строит граф из этих снимков: одна дорожка на ветку, слияния кривыми, каждая ссылка меткой. Нажмите на номер шага, чтобы увидеть репозиторий таким, каким он был сразу после этой строки. В очень длинной сессии предыдущие команды фиксируются только в самом конце, и полоса шагов показывает лишь те состояния, которые действительно были записаны.Можно ли здесь практиковать ветвление, слияние и rebase?
Можно ли использовать git push, pull, fetch и clone?
git clone https://… не дотянется до интернета. Создайте bare-репозиторий в подпапке (git init --bare remote.git), добавьте его как origin и делайте push, fetch, pull и clone с него: ветки удалённого отслеживания появятся в графе так же, как с GitHub.Сохраняется ли моя работа между запусками?
Чем это отличается от онлайн-терминала Linux?
Есть ли курс, который учит Git с нуля?
git init к веткам, слияниям, rebase и удалённым репозиториям с проверяемыми упражнениями, а на каждой странице справочника команд Git есть кнопка "Попробовать вживую", которая открывает эту песочницу с готовым примером.