-
Notifications
You must be signed in to change notification settings - Fork 9
memo git
- Création d'un dépôt
- Ajouter le dépôt sur GitHub
- Réinitialiser un dépôt
- Pousser les commit locaux sur GitHub
- Corriger le message du dernier commit pousser sur GitHub
- Annuler le dernier commit local
- Annuler le dernier push
- Corriger le message de plusieurs commit
- Annuler les modifications apportées au fichier
- Supprimer un fichier de l'index mais pas sur le disque
- Afficher l'historique d'un fichier
- Restaurer un fichier depuis un commit
- Tenter de retrouver un fichier effacé
cd ~/plescripts
git init
git add .
git config --global user.name "PhilippeLeroux"
git config --global user.email [email protected]
git commit -a -m "Création du dépôt"
git remote add origin https://github.com/PhilippeLeroux/plescripts.git
git push -u origin master
Pour Ignorer des fichiers documentation GitHub
cd ~/plescripts
rm -rf .git
git init
git config --global user.name "PhilippeLeroux"
git config --global user.email [email protected]
git add .
git commit -a -m "Reset repository"
git remote add origin https://github.com/PhilippeLeroux/plescripts.git
git push --force --set-upstream origin master
Commande : `git push`
git commit --amend
git push -f
git reset HEAD~1
Si les modifications des fichiers doivent être conservées, faire une sauvegarde.
Le dernier commit à annuler : 6fce7aa3142c8952eabd5ec205638f5ebd5eb280
Le commit précédent : 1400d5f1d2ef4fd3efabe10713bb4c8e845f1ef3
git push origin +1400d5f1d2ef4fd3efabe10713bb4c8e845f1ef3^:master
git reset HEAD^ --hard
git push origin -f
Remarque : les modifications du dernier commit seront perdues, il faut donc copier les fichiers allieurs si on veut conserver les modifications.
-
Premier cas : les commit n'ont pas été poussé sur GitHub.
- Annuler le dernier commit :
git reset --soft HEAD~1
- Annuler les N derniers commit, ex N=3 :
git reset --soft HEAD~3
Les modifications effectuées sont conservées, il suffit de commiter de nouveau pour changer le message du commit.
- Annuler le dernier commit :
-
Second cas : les commit sont sur le dépôt central et il n'y a pas de modifications locales.
Annulation :
git rebase -i HEAD^
ougit rebase -i HEAD~N
ou N est le nombre de commit à modifier.Suivre les indications, pour plus de détails voir ici
Ensuite :
git commit --amend git rebase --continue
-
Troisième cas : il y a des modifications locales.
Il suffit de taper la commande
git stash
puis de suivre les instructions du second cas.Une fois terminé taper la commande
git stash pop
Commande : git checkout le_fichier_qui_va
Commande : git rm --cached
Commande : git log -p filename
Afficher l'historique du fichier :
git log -p filename
Une fois le commit trouvé :
git checkout 939ed154632f8f049a76a92380d74c5b81df9e84 filename
Le fichier sera indexé pour validation, faire éventuellement un
git reset HEAD filename
Faire une recherche du fichier effacé :
git log --diff-filter=D --summary
Une fois le commit trouvé restaurer le fichier :
git checkout c5d5d674521365ac93959578e0c35815f0f7a571 san/delete_db_lun.sh
ou
git checkout c5d5d674521365ac93959578e0c35815f0f7a571^ -- san/delete_db_lun.sh
mais rien ne marche :(*