Git Workflow Skill
Formål
Denne skill bruges når TuxCore hjælper Thomas med Git, GitHub, Gitea, commits, branches, pull requests, Termux workflow og repo-struktur.
Den er relevant for:
- GitHub repositories
- Gitea repositories
- TuxiNet.dk projekter
- Termux på Android
- Codex-opgaver
- README-filer
- Commit messages
- Projektstruktur
- Patch workflow
- Release/ZIP workflow
Standardprincipper
- Brug klare og korte commit messages.
- Brug
git statusfør commit. - Brug
git pullfør større ændringer. - Kør relevante tests/validatorer før push.
- Commit kun filer der hører til ændringen.
- Commit aldrig secrets, tokens,
.enveller passwords. - Brug
.gitignore. - Gør kommandoer copy/paste-klar.
- Undgå unødvendige branches i små solo-projekter.
- Brug branches/PR når ændringen er større eller risikabel.
Standard Git workflow
git status
git pull
python tools/validate-library.py
git add .
git commit -m "Kort commit besked"
git push
Termux workflow
cd ~/projects/TuxCore-Skillset
git pull
python tools/validate-library.py
git status
git add .
git commit -m "Update Skillset"
git push
Før ændringer
Kør:
git status
git pull
Hvis working tree ikke er clean, skal det afklares før nye ændringer.
Efter ændringer
Kør:
git status
python tools/validate-library.py
git add .
git commit -m "Beskriv ændringen kort"
git push
Commit message stil
Brug korte imperative commit messages.
Gode eksempler:
Add Docker debug prompt
Update README
Fix SkillHub view styling
Add Git workflow skill
Document Termux workflow
Add PHP mail debug template
Undgå:
done
fix
update
stuff
asdasd
Når brugeren skriver $commit
TuxCore skal foreslå 3-5 commit messages baseret på ændringen.
Eksempel:
Add Git workflow skill
Document Android Termux Git workflow
Update SkillHub library index
Hvis relevant, kan der også gives commit body:
Add Git workflow skill
- Documents standard Git commands
- Adds Termux workflow notes
- Adds commit message conventions
Branch workflow
Ved små personlige projekter:
git add .
git commit -m "Update project"
git push
Ved større ændringer:
git checkout -b feature/name
git add .
git commit -m "Add feature"
git push -u origin feature/name
Pull request workflow
Ved PR-flow:
git checkout -b feature/name
git add .
git commit -m "Add feature"
git push -u origin feature/name
Derefter opret PR på GitHub/Gitea.
Undo / rollback
Se status:
git status
Fortryd ændringer i én fil:
git checkout -- path/to/file
Fortryd alle lokale ændringer der ikke er committed:
git reset --hard
Slet untracked filer:
git clean -fd
Vigtigt: git reset --hard og git clean -fd kan slette arbejde.
Se historik
git log --oneline --decorate -10
Se ændringer:
git diff
Se staged ændringer:
git diff --cached
Tags/releases
Ved versionering:
git tag v0.1.0
git push origin v0.1.0
Sikkerhedsregler
Commit aldrig:
- GitHub tokens
- SMTP passwords
.env- private keys
- database passwords
- API secrets
- personfølsomme data
- private logs
Tjek før commit:
git status
git diff --cached
Typiske fejl
Not a git repository
Du står i forkert mappe.
Fix:
cd ~/projects/TuxCore-Skillset
git status
Nothing to commit
Der er ingen ændringer.
Fix:
git status
Tjek om filen faktisk blev ændret.
Rejected non-fast-forward
Der er ændringer på remote, som ikke findes lokalt.
Fix:
git pull
git push
Hvis der er konflikt, løs konflikten før push.
Authentication failed
Token/login er forkert eller udløbet.
Fix i Termux:
gh auth status
gh auth login
Merge conflict
Samme fil er ændret både lokalt og remote.
Fix:
- Find konfliktmarkører.
- Vælg korrekt indhold.
- Gem filen.
- Commit.
bn filen.
Konfliktmarkører ser sådan ud:
<<<<<<< HEAD
lokal version
=======
remote version
>>>>>>> branch
Når TuxCore laver Git-hjælp
Svar bør indeholde:
- Hvad situationen betyder.
- Sikre kommandoer først.
- Advarsel ved destruktive kommandoer.
- Copy/paste-klar kommando.
- Næste testtrin.
Acceptkriterier
En Git-løsning er god når:
- Brugeren står i korrekt repo.
git statuser forstået.- Ændringer er committed med klar message.
- Push virker.
- Secrets er ikke committed.
- Eventuelle validatorer/tests er kørt.
- Kommandoer er copy/paste-klare.
Tags
git, github, gitea, termux, commit, branch, pull-request, workflow, tuxcore