recherche

Maison  >  Questions et réponses  >  le corps du texte

如何删除github上的一个项目的内容,重新提交所有内容

刚上传了vs项目到github,但是忘记搞gitignore文件,导致项目上传的体积太大,

现在不知道怎么办了?

删除里面所有文件,写好gitignore文件后重新commit然后push?

高洛峰高洛峰2800 Il y a quelques jours796

répondre à tous(7)je répondrai

  • 大家讲道理

    大家讲道理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

    répondre
    0
  • 阿神

    阿神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.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-22 09:01:48

    git reset --hard `你想要回滚到的提交`
    
    git push --force
    

    répondre
    0
  • 阿神

    阿神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é

    répondre
    0
  • 阿神

    阿神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
    

    répondre
    0
  • 天蓬老师

    天蓬老师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

    répondre
    0
  • 天蓬老师

    天蓬老师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

    répondre
    0
  • Annulerrépondre