Git records snapshots of files under a repository root. Initializing a repository creates its metadata; it does not commit existing files or upload anything. Start from the intended directory so nearby work is not pulled into the project by mistake. The first branch name is main in these fixtures. You will inspect the working tree after initialization and leave unrelated parent files alone. Every operation stays inside the simulated filesystem. For example, a directory can contain a README while status still reports every file as untracked. Save an initial snapshot only when the next request asks for one; initialization and commitment are separate actions.