Branches

Notes

  • A branch is a reference to an existing commit (not as intuitively thought as a chain of commits).

  • A branch diverges from another branch only if the referenced commit shares an ancestor with another commit.

Commands

  • Show branches

    • git branch --list, or simply git branch

    • git branch -r to list remote branches

    • git show-branch -a show a detailed list

    • git log --oneline --decorate --graph --all to show a visual diagram

  • Create a branch

    • git branch <branch-name>

  • Change to a branch, both are equivalent. Using switch is more unambiguous.

    • git checkout <branch-name>

    • git switch <branch-name>

  • Rename a branch

    • git branch -m <new-name> rename current branch

    • git branch -m <old-name> <new-name> other branch

  • Delete a local branch

    • git branch -d <branch-name> if fully merged

    • git branch -D <branch-name> if not fully merged, could result in data loss. Use with caution.

  • Delete a remote branch

    • git push origin --delete <branch-name>

Last updated