TuxCore Skillset

Git Workflow Skill

skill git Guld

skills/git-workflow/SKILL.md

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:

Standardprincipper

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:

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:

  1. bn filen.

  2. Find konfliktmarkører.
  3. Vælg korrekt indhold.
  4. Gem filen.
  5. Commit.

Konfliktmarkører ser sådan ud:

<<<<<<< HEAD
lokal version
=======
remote version
>>>>>>> branch

Når TuxCore laver Git-hjælp

Svar bør indeholde:

  1. Hvad situationen betyder.
  2. Sikre kommandoer først.
  3. Advarsel ved destruktive kommandoer.
  4. Copy/paste-klar kommando.
  5. Næste testtrin.

Acceptkriterier

En Git-løsning er god når:

Tags

git, github, gitea, termux, commit, branch, pull-request, workflow, tuxcore
git github gitea termux workflow tuxcore