Question

J'ai fait un tas de modifications sur mon git local de la version de Rails de projet que je ne veux pas le perdre, mais en faisant ainsi, j'ai accidentellement créé un vendeur/bundle dossier dans Git.

J'ai compris dès que j'ai commis ce que j'ai fait cela, et a fait un git rm pour le dossier (et ajouté au dossier de gitignore), et engage de nouveau.Cependant, maintenant, je ne peut pas pousser l'original, car le paquet est trop grand.

Ce dont j'ai besoin

  • Comment puis-je conserver les modifications (et les nouveaux fichiers) j'ai fait.
  • Lors de la suppression de la liasse dossier de l'historique de git
  • Et de ne pas pousser à s'engager avec eux depuis le répertoire est trop grand

J'ai été à la recherche pour diverses façons de doux réinitialisation ici, mais je suis coincé..

Était-ce utile?

La solution

Vous pouvez faire git reset --soft HEAD~x où X est le numéro d'examen que vous souhaitez réinitialiser - 2 dans votre cas, puis ajoutez le répertoire au fichier Gitignore et retirez-le de la zone mise en scène.

Autres conseils

Je crois que j'ai trouvé la réponse:

Cela se produit assez souvent.Quelqu'un a accidentellement commet une énorme fichier binaire avec un mouvement git add. et que vous souhaitez la supprimer partout.Peut-être que vous avez accidentellement commis un fichier qui contenait une le mot de passe, et vous voulez faire de votre projet open source.filter-branch est l'outil que vous voudrez probablement utiliser pour nettoyer la totalité de votre histoire.Pour supprimer un fichier nommé passwords.txt à partir de l'ensemble de votre histoire, vous pouvez utilisez l'option --arbre-option filter filter-branch:

Source:

git filter-branch --tree-filter 'rm -f /vendor/bundle' HEAD

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top