Vault/VAULT/git_basics.md

1.5 KiB

Git Basics

git push — remote vs branch syntax

Problem: git push -u main throws: fatal: 'main' does not appear to be a git repository fatal: Could not read from remote repository.

Diagnosis: Git expected a remote name but got a branch name.

Fix: git push -u origin main

Key insight: The syntax is always remote first, branch second. origin = where to push (the remote repository) main = which branch to push -u = sets origin/main as the default tracking branch, so future pushes only need git push

Git Basics — Vault Sync Workflow

What we set up

  • Vault folder (05_vault) initialised as a Git repo on the desktop
  • Remote added: git@git.bujour.de:patsy/Vault.git (Forgejo, port 2222)
  • Pushed from desktop → Forgejo → pulled onto laptop
  • Desktop clone deleted and re-cloned fresh from Forgejo (clean slate)

Day-to-day rhythm

  • Before starting: git pull origin main — get what's on the remote
  • After changes: git add .git commit -m "message"git push origin main

Key distinction

Command What it does
git fetch Downloads new commits from remote — does NOT touch your files
git pull fetch + applies changes to your working files

Mental model

The remote (Forgejo) is the ocean. You push water out, you pull water back in. One branch, working alone → pull before you start, push when you're done.

Index line

git_basics.md — day-to-day sync rhythm, fetch vs pull distinction