Files
2025-12-08 12:40:45 +01:00

70 lines
2.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
echo "🔧 Installation des commandes Git personnalisées..."
# Commande deploy
git config --global alias.deploy '!f() {
current_branch=$(git branch --show-current);
echo "📍 Branche actuelle: $current_branch";
echo "🔍 État avant auto-commit:";
git status --short;
# Auto-commit des modifications si nécessaire
if ! git diff-index --quiet HEAD --; then
echo "💾 Auto-commit des modifications sur $current_branch...";
git add .;
git commit -m "Auto-commit for deploy to $1 - $(date +%Y-%m-%d\ %H:%M:%S)";
echo "✅ Modifications commitées sur $current_branch !";
else
echo "️ Pas de modifications à commiter sur $current_branch";
fi;
echo "🔍 État après auto-commit:";
git status --short;
echo "🔍 Dernier commit sur $current_branch:";
git log --oneline -1;
if [ "$1" = "staging" ]; then
echo "🚀 Push de $current_branch vers deploiement-staging...";
git push origin $current_branch:deploiement-staging --force;
echo "✅ Staging mis à jour avec le contenu de $current_branch !";
elif [ "$1" = "production" ] || [ "$1" = "prod" ]; then
echo "🚀 Déploiement en production...";
git checkout main;
git pull origin main;
git merge $current_branch -m "Deploy from $current_branch to production";
git push origin main;
git checkout $current_branch;
else
echo "❌ Usage: git deploy [staging|production]";
return 1;
fi;
echo "🔍 Vous êtes toujours sur: $(git branch --show-current)";
echo "✅ Déployé sur $1 !";
}; f'
# Commande publish
git config --global alias.publish '!f() {
current_branch=$(git branch --show-current);
git push origin $current_branch;
echo "✅ Branche $current_branch publiée !";
echo "👉 Créez votre PR dans Gitea : $current_branch → main";
}; f'
# Commande cleanup
git config --global alias.cleanup '!f() {
current_branch=$(git branch --show-current);
git checkout main;
git pull origin main;
git branch -d $current_branch 2>/dev/null;
git push origin --delete $current_branch 2>/dev/null;
echo "🧹 Nettoyage terminé !";
}; f'
echo "✅ Commandes Git installées !"
echo "📖 Utilisation :"
echo " git deploy staging # → Teste sur staging"
echo " git deploy production # → Déploie en prod"
echo " git publish # → Publie pour PR"
echo " git cleanup # → Nettoie après merge"