Table of Contents

Git Basics

Git How-to

Stage / Commit / Push

git add the.file
git commit -m "The message"
git push

Branches

Switch branch (option create)

git switch branch_name
git switch -c create_branch_name

(git switch needs git 2.23 or later; on older versions use git checkout and git checkout -b.)

Git and Rust

When you create a new Rust project using Cargo it automatically initializes a local git repository.

To connect it with a remote repository follow the basic instructions :

cd existing_folder
git init # Skip if in a Rust project created with cargo, git is already initialized
git remote add origin <remote_repo_url>
git add . # required
git commit -m "Initial commit" # Feel free to change the message
git push -u origin main # This is what actually pushes (use master if your default branch is still called master)

Git will ask you to authenticate as the owner of the remote repository. GitHub no longer accepts account passwords for git: use a personal access token (entered as the password) or an SSH key (with an SSH remote URL).

Most modern editors (VS Code, Zed…) detect the git repository automatically when the project root folder is opened directly.

If you want to set all of your branches to automatically use this remote repo when you use git pull, add –set-upstream to the push:

git push --all --set-upstream origin

Branching

To get a branch that exists on the remote repository, fetch the remote data then switch to the branch:

git fetch origin
git switch <name-of-branch>

git fetch downloads everything from origin without changing your files. git switch then creates a local branch with the same name that automatically tracks the remote one.

Resources

Git book