GitHub repo aanmaken vanuit bestaande lokale git-repo

Definitie

Met gh repo create --source=. --remote=origin maak je in één stap een GitHub-repo aan, koppel je de lokale map als bron en stel je origin in als remote. Geen handmatige git remote add nodig.

Context

Situatie: je hebt al een lokale map met git init (wel of niet al commits), maar nog geen GitHub-remote. Dit patroon doet zich voor bij bestaande projecten die je voor het eerst naar GitHub wil zetten.

Kernpunten

Commando

gh repo create <naam> --private --source=. --remote=origin
  • <naam> is de naam van de nieuwe GitHub-repo (wordt aangemaakt onder jouw account)
  • --private of --public naar wens
  • --source=. gebruikt de huidige map als git-bron
  • --remote=origin registreert de nieuwe repo meteen als remote origin

Na afloop kun je direct pushen:

git push -u origin master   # of main, afhankelijk van je branch

.gitignore vóór de eerste push

Controleer de .gitignore voordat je iets commit. Bestanden die al gestaged zijn worden door .gitignore niet meer tegengehouden — de rule geldt alleen voor nog-niet-getrackte bestanden.

Als een bestand per ongeluk gestaged is:

git restore --staged <bestand>

Daarna werkt de .gitignore-regel wel bij een volgende git add.

.gitignore patronen met spaties in paden

Aanhalingstekens werken niet in .gitignore. Als de mapnaam spaties bevat, gebruik dan een wildcard op een uniek deel van de bestandsnaam:

# Werkt niet:
"design/Cowork's bit/Ongewenst bestand.html"
 
# Werkt wel:
*OngewenstBestand.html

Hugo-specifieke .gitignore aanvullingen

Een standaard Hugo-project heeft minimaal nodig:

public/
resources/_gen/
.hugo_build.lock

.hugo_build.lock wordt niet automatisch door Hugo’s eigen init-template uitgesloten, maar hoort daar thuis.

Binaries en grote bestanden

Overweeg bij grote afbeeldingenmappen (>50MB totaal) of Git LFS zinvol is. Voor privérepo’s met content en designbestanden is het commiten van afbeeldingen doorgaans acceptabel.

Verbanden

Sessie-herkomst