En résumé, ça modifie la référence du dossier de travail (HEAD), mais ça ne modifie pas les fichiers physiques.
Il faut savoir que HEAD peut pointer vers un commit précis (git status nous indique qu'on est dans l'état "HEAD détachée"), ou pointer vers une branche, qui elle-même pointe vers un commit (le fonctionnement normal).
Une opération push va modifier la branche, et si HEAD suit la branche, HEAD sera indirectement impactée. Mais les fichiers locaux ne vont pas changer.
En pratique, si coté client on ajoute un fichier F dans un commit C, du coté serveur, git status va nous dire qu'on est bien sur le commit C, mais que le fichier F a été supprimé.
Avant le push (sur le serveur):
Sur la branche master
Modifications qui seront validées :
(utilisez "git reset HEAD <fichier>..." pour désindexer)
nouveau fichier : fichier1-coté-serveur
Fichiers non suivis:
(utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
fichier2-coté-serveur
Après le push:
Sur la branche master
Modifications qui seront validées :
(utilisez "git reset HEAD <fichier>..." pour désindexer)
supprimé : fichier-commité-coté-client
nouveau fichier : fichier1-coté-serveur
Fichiers non suivis:
(utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
fichier2-coté-serveur
Le risque, c'est que si on a des fichiers modifiés et que quelqu'un push sur notre dépôt, ça va tout mélanger et il va falloir faire du tri à la main, donc potentiellement grosse galère pour s'y retrouver.
Pour les autres opérations de pull et clone, ça ne devrait pas avoir d'impact.
[^] # Re: git != svn
Posté par BAKfr . En réponse au journal Git : les bases et guide d'utilisation en mode centralisé (à la SVN). Évalué à 1. Dernière modification le 26 novembre 2016 à 00:55.
Je viens de faire le test.
En résumé, ça modifie la référence du dossier de travail (HEAD), mais ça ne modifie pas les fichiers physiques.
Il faut savoir que
HEADpeut pointer vers un commit précis (git statusnous indique qu'on est dans l'état "HEAD détachée"), ou pointer vers une branche, qui elle-même pointe vers un commit (le fonctionnement normal).Une opération push va modifier la branche, et si HEAD suit la branche, HEAD sera indirectement impactée. Mais les fichiers locaux ne vont pas changer.
En pratique, si coté client on ajoute un fichier F dans un commit C, du coté serveur,
git statusva nous dire qu'on est bien sur le commit C, mais que le fichier F a été supprimé.Avant le push (sur le serveur):
Après le push:
Le risque, c'est que si on a des fichiers modifiés et que quelqu'un push sur notre dépôt, ça va tout mélanger et il va falloir faire du tri à la main, donc potentiellement grosse galère pour s'y retrouver.
Pour les autres opérations de pull et clone, ça ne devrait pas avoir d'impact.