git-sim: Visualize Git Commands

git-sim: Visualize Git Commands

Are you afraid to do a git rebase? Or a git reset? Or any other git command? Don't worry, because with git-sim you'll be able to see before you do it what's going to happen so you can make the right decision.

This notebook has been automatically translated to make it accessible to more people, please let me know if you see any typos.

Installationlink image 4

To install git-sim we first need to install manim, which is a python library for making animations. For this we can install it with pip:

pip install manim

or with conda

conda install -c conda-forge manim

Once manim is installed we can install git-sim with pip:

pip install git-sim

Uselink image 5

Now that we have it installed we go to a repository and test any git command changing git for git-sim. For example, if in a repository of mine I do a git-sim reset --hard HEAD~1 it will show me an animation of how the rebase would look like before doing it.

git-sim

As we can see it is showing me that if I do git reset --hard HEAD~1 it would go from commit ae757a8 to commit 3754c64 and that it would also remove the changes in the files indicated in Changes deleted from.

Frequently asked questions

What dependencies do I need before using git-sim, and in what order?

git-sim depends on manim, the Python animation library, so you need to install that first: pip install manim (or conda install -c conda-forge manim if you're on Conda), and only then run pip install git-sim. If you install git-sim before manim is in place, animation rendering will fail.

How do I preview what a git reset --hard HEAD~1 would do before actually running it?

Inside your repo, just swap git for git-sim in the same command: git-sim reset --hard HEAD~1. This renders an animation (via manim) showing the before/after state, e.g. moving from commit ae757a8 to commit 3754c64, and explicitly lists which files would be lost under "Changes deleted from" — all without touching your actual repository.

Continue reading

Last posts -->

Have you seen these projects?

Gymnasia

Gymnasia Gymnasia
Expo
React Native
TypeScript
OpenAI
Anthropic

Fitness app with two agents that run entirely on the device, with no backend, so the user's data never leaves the phone. A BYOK conversational coach with adapters for OpenAI, Anthropic and Google, 12 local tools and a remote system prompt with offline fallback, plus a vision subagent that estimates macronutrients from food photos, with barcode scanning against OpenFoodFacts.

LangGraph Deep Researcher

LangGraph Deep Researcher LangGraph Deep Researcher
Python
LangGraph
FastAPI
React
TypeScript
Docker

Multi-agent research system built with LangGraph. A supervisor breaks your question down into topics and launches search sub-agents in parallel; each one compresses its findings before handing them to a writer agent that produces the final sourced markdown report. Live streaming over WebSockets, a configurable model per role and bring-your-own API keys that are never persisted server-side.

Tau

Tau Tau
Python
LangChain

Multi-agent tutoring system for secondary school students, with one agent per subject and course material written and validated by a team of teachers. It was used with real students at a private school in Spain and at a secondary school in Colombia.

View all projects -->
>_ Available for projects

Do you have an AI project?

Let's talk.

maximofn@gmail.com

Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.

Do you want to watch any talk?

Last talks -->

Do you want to improve with these tips?

Last tips -->

Use this locally

Hugging Face spaces allow us to run models with very simple demos, but what if the demo breaks? Or if the user deletes it? That's why I've created docker containers with some interesting spaces, to be able to use them locally, whatever happens. In fact, if you click on any project view button, it may take you to a space that doesn't work.

Flow edit

Flow edit Flow edit

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
View all containers -->
>_ Available for projects

Do you have an AI project?

Let's talk.

maximofn@gmail.com

Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.

Do you want to train your model with these datasets?

short-jokes-dataset

HuggingFace

Dataset with jokes in English

Use: Fine-tuning text generation models for humor

231K rows 2 columns 45 MB
View on HuggingFace →

opus100

HuggingFace

Dataset with translations from English to Spanish

Use: Training English-Spanish translation models

1M rows 2 columns 210 MB
View on HuggingFace →

netflix_titles

HuggingFace

Dataset with Netflix movies and series

Use: Netflix catalog analysis and recommendation systems

8.8K rows 12 columns 3.5 MB
View on HuggingFace →
View more datasets -->