feat: add user script tracking
This commit is contained in:
55
scripts/dotpush.sh
Executable file
55
scripts/dotpush.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# ============================================================
|
||||
# Définition locale de la commande config
|
||||
# ============================================================
|
||||
config() {
|
||||
/usr/bin/git --git-dir="$HOME/.dotfiles" --work-tree="$HOME" "$@"
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# Script de sauvegarde interactif (ordre corrigé)
|
||||
# ============================================================
|
||||
cd ~
|
||||
|
||||
# 1. Stager TOUS les fichiers autorisés par la whitelist
|
||||
echo "⏳ Staging des fichiers autorisés..."
|
||||
config add .
|
||||
|
||||
# 2. Vérifier ce qui est EFFECTIVEMENT dans le stage (prêt à être commité)
|
||||
local staged_changes=$(config status -s)
|
||||
|
||||
if [[ -z "$staged_changes" ]]; then
|
||||
echo "📭 Aucun fichier n'a été ajouté au stage (vérifiez votre .dotfilesignore)."
|
||||
echo " Rien à committer."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 3. Afficher le contenu du stage (ce qui va VRAIMENT partir)
|
||||
echo "📦 Voici les fichiers qui seront DANS le commit :"
|
||||
echo "-----------------------------------------------------"
|
||||
config status -s
|
||||
echo "-----------------------------------------------------"
|
||||
echo ""
|
||||
|
||||
# 4. Demander le message de commit
|
||||
echo -n "✏️ Entrez le message de commit (ou Entrée pour auto) : "
|
||||
read -r msg
|
||||
|
||||
if [[ -z "$msg" ]]; then
|
||||
msg="Sauvegarde auto $(date '+%Y-%m-%d %H:%M')"
|
||||
echo "⏩ Message auto : \"$msg\""
|
||||
fi
|
||||
|
||||
# 5. Commiter
|
||||
config commit -m "$msg"
|
||||
|
||||
# 6. Pousser
|
||||
if config remote | grep -q origin; then
|
||||
echo "🚀 Push vers origin master..."
|
||||
config push origin master
|
||||
echo "✅ Sauvegarde terminée !"
|
||||
else
|
||||
echo "⚠️ Aucun remote 'origin' configuré."
|
||||
echo " Ajoutez-le avec : config remote add origin git@github.com:votre-pseudo/dotfiles.git"
|
||||
fi
|
||||
Reference in New Issue
Block a user