This visual execution compares git submodules and subtrees. Submodules add a link to an external repo, keeping its commit history separate and requiring separate clone and update commands. Subtrees copy the external repo files into a subfolder of the main repo and merge or squash the commit history, so all content and history are integrated. The execution table shows step-by-step actions and effects on the main repo, commit history, and clone behavior. The variable tracker follows changes in main repo content, commit history, and clone behavior across steps. Key moments clarify why submodules need separate updates, how commit histories differ, and how external files are handled. The quiz tests understanding of when files are included, clone behavior, and commit history merging. The snapshot summarizes the main differences and when to use each method.