Maison > Questions et réponses > le corps du texte
刚上传了vs项目到github,但是忘记搞gitignore文件,导致项目上传的体积太大,
现在不知道怎么办了?
删除里面所有文件,写好gitignore文件后重新commit然后push?
大家讲道理2017-04-22 09:01:48
git rm -r --cache . git ajouter . git commit -m "gitignore working"
La première fois que j'ai soumis une question, le système ne l'avait pas examinée depuis longtemps, alors je l'ai recherchée. En fait, j'ai trouvé la réponse de stackoverflow hier soir. Mais merci à tous quand même. http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring
阿神2017-04-22 09:01:48
Veuillez saisir la description du lien
Il existe également une option pour réécrire l'historique si vous souhaitez modifier par script un grand nombre de commits - par exemple, pour modifier les adresses e-mail globalement ou supprimer un fichier de tous les commits. Cette commande est une branche de filtre et elle modifiera considérablement votre historique, vous ne devriez donc probablement pas l'utiliser à moins que votre projet ne soit pas encore public et que personne d'autre ne travaille sur le commit que vous avez l'intention de modifier. Pourtant, celui-ci peut être très utile. Vous apprendrez quelques utilisations courantes pour vous faire une idée de ses capacités.
Supprimer un fichier de tous les commits Cela arrive souvent. Certaines personnes utilisent git add sans réfléchir et commettent accidentellement un énorme binaire que vous souhaitez supprimer de partout. Peut-être avez-vous accidentellement commis un fichier contenant un mot de passe et souhaitez-vous rendre votre projet open source. filter-branch sera probablement l'outil que vous utiliserez pour nettoyer tout votre historique. Pour supprimer un fichier nommé password.txt de tout l'historique, vous pouvez utiliser l'option --tree-filter sur filter-branch :
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD Réécrire 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) La réf 'refs/heads/master' a été réécrite L'option --tree-filter exécutera la commande spécifiée, puis soumettra à nouveau les résultats à chaque fois que le projet est extrait. Dans cet exemple, vous supprimeriez un fichier nommé password.txt de tous les instantanés, qu'il existe ou non. Si vous souhaitez supprimer tous les fichiers de sauvegarde de l'éditeur qui ont été accidentellement validés, vous pouvez exécuter une commande telle que git filter-branch --tree-filter 'rm -f *~' HEAD.
Vous pouvez regarder Git réécrire l'arborescence des répertoires et valider, puis déplacer le pointeur de branche vers la fin. Une meilleure approche consiste à le faire sur une branche de test, puis à réinitialiser votre branche principale après vous être assuré que le produit correspond réellement à ce que vous souhaitez. Pour exécuter filter-branch sur toutes vos branches, vous pouvez passer --all à la commande.
Définir un sous-répertoire comme nouveau répertoire racine Supposons que vous ayez effectué une importation depuis un autre système de contrôle de code et que vous disposiez de sous-répertoires dénués de sens (tronc, balises, etc.). Si vous souhaitez que le sous-répertoire trunk devienne le nouveau répertoire racine du projet pour chaque soumission, filter-branch peut également vous aider à le faire :
$ git filter-branch --subdirectory-filter trunk HEAD Réécrire 856f0bf61e41a27326cdae8f09fe708d679f596f (12/12) La réf 'refs/heads/master' a été réécrite Le répertoire racine de votre projet est désormais le sous-répertoire trunk. Git supprimera automatiquement les commits qui n'affectent pas ce sous-répertoire.
阿神2017-04-22 09:01:48
Fournir une solution relativement novice : Entrez dans le projet-->Paramètres-->Supprimez ce référentiel, puis créez un nouveau dépôt et vous avez terminé
阿神2017-04-22 09:01:48
Vous devez utiliser
git reset
Pour plus de détails, vous pouvez consulter les opérations d'annulation de Git : réinitialisation, extraction et annulation : http://www.liuhui998.com/4_9.html
Supposons que vous souhaitiez annuler toutes les modifications et revenir au commit le plus récent. La commande est la suivante :
$ git reset --hard HEAD
天蓬老师2017-04-22 09:01:48
Page d'accueil du projet——>Paramètres——>Supprimer ce référentiel——>Resoumettre D'accord, je ne suis pas très doué pour l'utiliser non plus
天蓬老师2017-04-22 09:01:48
Sauvegardez d'abord ou validez d'abord (leçon sanglante)
git reset --hard
YOUR HEAD
Comment interroger la tête d'un enregistrement soumis
git reflog || git journal