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
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.
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é
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 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
Veuillez saisir la description du lien
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.
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é
Vous devez utiliser
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 :
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
Sauvegardez d'abord ou validez d'abord (leçon sanglante)
Comment interroger la tête d'un enregistrement soumis