Git clair dépôt distant
Si je pousse un mauvais initiale commit (ou plusieurs) à un dépôt distant et de vouloir tout effacer et détruire elle - puis-je le faire par une commande?
Il est important de supprimer totalement du serveur afin de ne pas utiliser de l'espace disque.
E. G. aujourd'Hui, j'ai poussé un ensemble de projet Visual Studio avec les dll, les sdfs et ainsi de suite. Tout d'abord ces fichiers sont assez gros, d'autre part, certains d'entre eux sont modifiés par VS d'autres développeurs, et que ne peuvent pas être fusionnés. Cela m'a fait de google un peu et j'ai trouvé ces fichiers doivent être ignorés. Mais le premier commit déjà encombre mon référentiel. Je veux supprimer ce et libérer de l'espace disque.
Il est possible de supprimer repo git et l'ajouter à nouveau via l'hôte du site web (assembla), mais cela ne ressemble pas à une solution pour moi.. il Est d'une manière plus professionnelle?
Mise à JOUR:
J'ai essayé les suggestions de la réponse ci-dessous, mais il ne fonctionne pas:
'git push -f' 'git push --force' git push origin -f' 'git push origin --force"
entraîné dans:
$ git push --force
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 6.85 KiB, done.
Total 19 (delta 3), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull fir
)
To [email protected]:xxxxx.git
! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:xxxxx.git'
OriginalL'auteur Andrzej Gis | 2011-09-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez forcer, poussez le "corriger" repo avec
git push -f
. Selon l'hôte, les objets en vrac sera nettoyée lorsgit gc
est couru. mise à jour: Selon cette vous ne pouvez pas forcer legit gc
dans assembla.Si vous voulez les nettoyer immédiatement et assembla ne vous autorise pas à forcer un
git gc
, l'autre option est de supprimer les pensions de titres et de pousser un nouveau.En outre, comme Ryan a déclaré dans les commentaires, assurez-vous de laisser tout le monde savoir que peut avoir cloné le dépôt, que vous ré-écrit l'histoire.
Si vous le pouvez, la force d'une suppression de la distance branche master
git push origin :master
. Certains référentiel distant configurations ne permettent pas pour cela.Que voulez-vous dire exactement par "supprimer le repo'? Existe t il une commande pour cela, ou que vous venez de dire pour ce faire via assembla page web?
Oui, supprimer assembla de l'interface.
Hmm, on dirait 'git push -f" ne fonctionne pas. Les détails ajoutés à la question.
OriginalL'auteur Andy