npx claudepluginhub lingelo/marketplace-claude-code --plugin gitWant just this skill?
Add to a custom plugin, then install with one command.
Pousse les commits vers le remote avec un verrou de securite qui bloque les push vers origin/main et origin/master. Utiliser quand l'utilisateur demande de faire un push, /push, ou veut pousser ses changements.
This skill uses the workspace's default tool permissions.
Push Securise
Pousse les commits vers le remote avec un verrou de securite qui empeche les push directs vers les branches protegees (main/master).
Verrou de Securite
IMPORTANT : Ce skill REFUSE systematiquement de pousser vers :
origin/mainorigin/master
Ce verrou est une mesure de securite pour eviter les push accidentels sur les branches principales.
Instructions
1. Verifier la branche courante
git branch --show-current
2. Verifier le statut
git status
Verifier :
- S'il y a des commits a pousser
- Si la branche track un remote
- L'etat de la branche par rapport au remote
3. Appliquer le verrou de securite
AVANT tout push, verifier la branche cible :
git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || echo "no-upstream"
BLOQUER le push si la branche courante est main ou master :
Si la branche courante est main ou master :
- NE PAS executer le push
- Afficher un message d'erreur clair
- Suggerer de creer une branche de feature
Message a afficher :
ERREUR : Push vers origin/main ou origin/master bloque
Le push direct vers les branches principales est interdit pour des raisons de securite.
Pour pousser vos changements :
1. Creez une branche de feature : git checkout -b feature/ma-feature
2. Poussez sur cette branche : git push -u origin feature/ma-feature
3. Creez une Merge Request / Pull Request
4. Executer le push (si autorise)
Si la branche n'est PAS main ou master :
Premier push (nouvelle branche) :
git push -u origin <branch-name>
Push subsequent :
git push
Push avec tags :
git push --follow-tags
Workflow complet
- Obtenir le nom de la branche courante
- VERIFIER que ce n'est PAS
mainoumaster - Si
mainoumaster→ BLOQUER et afficher le message d'erreur - Sinon → executer le push normalement
- Confirmer le succes du push
Exemples
Push autorise
Branche : feature/MOJ-1234-add-login
→ Push autorise vers origin/feature/MOJ-1234-add-login
Branche : fix/UNIV-456-bugfix
→ Push autorise vers origin/fix/UNIV-456-bugfix
Push bloque
Branche : main
→ BLOQUE - Afficher message d'erreur
Branche : master
→ BLOQUE - Afficher message d'erreur
Options supportees
| Option | Description |
|---|---|
--force | Force push (utiliser avec precaution) |
--force-with-lease | Force push securise |
--tags | Pousse aussi les tags |
--follow-tags | Pousse les tags annotes |
-u / --set-upstream | Configure le tracking de la branche |
Notes importantes
- Le verrou sur main/master est NON NEGOCIABLE
- Si l'utilisateur insiste pour pousser sur main/master, REFUSER et expliquer pourquoi
- Suggerer toujours le workflow via Merge Request / Pull Request
- Ce verrou protege contre les erreurs humaines, pas contre les intentions malveillantes