Annuler un commit sur gitlab

Fermé
Clement - 18 janv. 2021 à 18:59
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 19 janv. 2021 à 18:25
Bonjour,

J'espère que ma question sera claire et compréhensible, j'utilise gitlab que depuis peu.

Hier, j'ai souhaité mettre en ligne un fichier sur un serveur gitlab auquel d'autres personnes ont également accès. Certes ça a fonctionné, mais tous les fichiers qui apparaissaient sur la branche "master" ont disparu une fois mon fichier ajouté. L'historique de la branche master indique que mon commit a supprimé tous ces fichiers.

J'ai souhaité annuler cette action en essayant de retrouver tous ces fichiers autre part, en les téléchargeant et en les mettant dans mon dossier git puis en faisant git push pour les remettre sur le serveur en question.
Ca a marché, mais il y a tout un tas de fichier que je n'ai pas réussi à retrouver.

Aujourd'hui, quelqu'un a fait un commit pour rajouter quelques fichiers.

Donc j'ai 2 questions : est-il possible d'annuler mes 2 commits sans toucher au commit fait par cette dernière personne ? En gros, faire en sorte que mes actions n'aient aucun impact ?

J'ai entendu parler d'une commande git revert --no-commit XX..HEAD git commit
Ca pourrait fonctionner ?

2eme question : comment ça se fait que les autres fichiers ont disparu alors que j'ai simplement ajouté un fichier ?

Merci beaucoup..

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 janv. 2021 à 21:00
Au pire, tu peux créer une branche sur le dernier commit (git branch ...)
Puis forcer la branche master sur le dernier bon commit. (Git reset <Hash>)
Tenter de recréer les commits correctement
et pousser le tout avec git push --force
0
Merci pour ton conseil.
Est-ce que tu pourrais m'expliquer vite fait comment ça se fait que les commandes que j'ai rentrées :

git pull / git add . / git commit -a -m “my comment” / git push

ont eu pour effet de supprimer les fichiers de la branche master alors que j'ai au contraire voulu ajouter un fichier, pas en supprimer.

Comme je l'ai dit, je suis un newbie de gitlab, mais est-ce que c'est parce que le dossier gitlab de mon pc ne contenait aucun des fichiers du server, du coup quand j'ai rentré ma commande, le server s'est synchronisé avec mon dossier gitlab, et donc tout a disparu ?

Et si oui, ça veut dire que pour mes futurs upload, il faudra à chaque fois que j'ai tous les fichiers du serveur présents dans mon dossier gitlab pour éviter que le même problème se reproduise ?

Et une toute dernière question, quand jai re-regardé la liste des fichiers que j'ai supprimé, et que je clique sur leur nom sur le server, je peux toujours accéder, télécharger certain d'entre eux, etc.
C'est bizarre non, vu que je suis censé les avoir supprimer ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331 > Clement
18 janv. 2021 à 23:14
git commit -a :
-a, --all
Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.

En gros, mettre un -a valide automatiquement tous les fichiers modifiés et supprimés.
Je te recommande de l'éviter et de faire les "git add" de chaque fichier modifié, cela te permettre d'éviter de pousser des modifications non désirées.
"Git add ." fait déjà les ajoute et les modifications (mais pas les suppressions)

De base il est recommandé d'avoir tous les fichiers du commit sur lequel tu es. Tu pourra faire des choses plus pointu plus tard avec l'expérience. Git est très puissant, mais une grande puissance requiert une grande responsabilité.

Gitlab est un serveur de dépot pour git, tout comme l'est github, gitea, ...

Git enregistre tout, les fichiers supprimés ne le sont que sur les commits que tu as poussé, les commits précédents ne sont pas changés.
0
Merci beaucoup !
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
19 janv. 2021 à 18:25
Si la question est résolue, merci de cliquer sur "Marquer comme résolu" .
0