Suivre

Ya pas moyen avec Gitlab de garder un projet mais d'effacer tous les commits (pour repartir de zéro en tentant de faire oublier un développement cahotique^H^H^H^H^H^H^H^H^Hagile) ? La seule solution est de virer le projet et de le recréer sous le même nom ?

@bortzmeyer non, normalement tu peux faire une branche, merge dessus et tu supprime l'ancienne branche.
Mais ça ne fait pas l'oublier, ça ne fait que reprendre une branche clean

@Sp3r4z Là, je voudrais vraiment tout faire disparaitre. Style Staline retouchant les photos.

@bortzmeyer @Sp3r4z faire une branche à partir du commit initial copier/coller le code et pousser la branche supprimer l'ancienne branche ...

@bortzmeyer @Sp3r4z du commit initial ou du commit qui est considéré comme celui où s'est "parti en couille" bien sur

@bortzmeyer @Sp3r4z ha ben oui c'est un nouveau nom qu'il faut crer (qui peut être temporaire le après la suppression de la branche master)

@Dam_ned @Sp3r4z Je sais supprimer/renommer les branches locales mais je ne vois pas comment faire pour celles sur Gitlab.

@bortzmeyer je sais jamais si c'ets:
git push upstream

ou
git push --set-upstream REMOTE_NAME LOCAL_NAME

@Dam_ned

@bortzmeyer @Sp3r4z sinon sur la même branche
#retour vers le premier commit en gardant les modif
git reset <hash_du_premier_commit>
git add .
git commit -m "sudo c'est propre"
git push -f

@Dam_ned @bortzmeyer @Sp3r4z oué push -f devrait marcher sauf si la config du projet a des branches "protégées"

@mmu_man NON, très mauvaise idée. S'autoriser ce genre de trucs, c'est mettre la main dans une machine qu'on voudra pas voir arriver :/
On fiat ça proprement, branche à part, on surpprime la branche old après, o nreprotège la nouvelle branche

@Dam_ned @bortzmeyer

@Sp3r4z @Dam_ned @bortzmeyer bah ça dépend, si c'est pour supprimer un mot de passe qui traîne… ah non trop tard tfaçon là c'est le mot de passe qu'il faut changer.

@mmu_man L'historique des branches ne s'en va pas, sauf s'il est seulement local de toute façon… je sais pas comment ça marche avec BFG (ça semble être okay mais bon… )

Déprotéger une branche, c'est le genre de trucs que je m'aventure pas à faire… ces des habitudes mauvaises, ça me plaît assez peu :/

@Dam_ned @bortzmeyer

@bortzmeyer @Sp3r4z et pour le hash du premier commit
git log --reverse (en haut)

@bortzmeyer peut-être passer par BFG du coup (c’est utilisé pour la suppression des password).
Mais sans certitude

@bortzmeyer Il suffit d’un «git push --force» avec la nouvelle arborescence non?

@bortzmeyer @come

Pourtant il me semble bien avoir déjà fait ça aussi... Une nouvelle branche partant de rien (git branch --bare ou dans le genre) qu'on pousse en force sur le origin/master.

Il faut avoir le droit de pousser sur master, cela dit...

@djelouze @come J'ai le droit et je suis même admin du projet. Mais un git push ordinaire est refusé (ce qui est logique puisqu'on est remonté dans le temps)

@bortzmeyer @come

Ce n'est qu'une traduction de "je veux tout virer et repartir à zéro" :)

@bortzmeyer faire une nouvelle branche au début de l'histoire et détruire l'ancienne ?

@R1Rail Apparemment y veut pas ! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'XXX'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

@bortzmeyer @R1Rail Je dis certainement des conneries, mais squasher tous les commits en un, ça pourrait le faire ?

@bortzmeyer @R1Rail Il faut faire un git rebase -i mais le problème c'est de trouver comment le faire dans ce cas-là... Puis on squash.

Bon, apparemment, ceci marche :

git checkout -b NEW e01fd60504d373878c1da5e26ba20dffea9c752d
cp -r fichiers .
git add *
git commit -m 'Import' .
git push --set-upstream origin NEW
git branch -D master
git branch -m NEW master

Et sur Gitlab virer master

git push URL master
Ça semble marcher mais j'ai refait un git push depuis un dépôt qui avait été récupéré avant et ça a renvoyé tout l'historique. Faut que je recommence plus intelligemment.

Bon, j'ai réussi à faire un truc compliqué avec . Je vais maintenant aller demander une augmentation.

@bortzmeyer git push -f (après avoir changé le master local pour pointer sur un tout nouveau commit) ne fonctionne pas? (je n'utilise pas gitlab...)

@pmevzek Je n'ai pas gardé le message mais il m'engueulait pour une histoire de pull pas fait.

@bortzmeyer
J'arrive après la bataille mais le pb n'était-il pas que master est une branche protégée ? Sans ça, un git push -f devrait passer outre le pb de fast forward.

@bortzmeyer
Protégée dans gitlab, hein. Dans git elle n'a rien de spécial.

Inscrivez-vous pour prendre part à la conversation
Mastodon - Gougère Network

Vive les gougères ! mnt-by: @yapret @papaeng89