Pousser à github après un clone peu profond
J'avais une énorme repo git en raison d'un grand nombre de commits, en suivant les conseils ici j'ai créé un clone simple. J'ai apporté des modifications à ce nouveau local repo, et maintenant, je veux pousser mon origine sur Github (et puis à ma mise en scène et la production de télécommandes sur Heroku). Peut-être un jour je vais apprendre à lire la documentation:
Le git clone --profondeur de l'option de commande dit
--profondeur de Créer un clone simple avec une histoire tronquée pour le nombre spécifié de révisions. Un peu référentiel a un certain nombre
des limitations (vous ne pouvez pas cloner ou chercher, ni pousser, ni
en)
Donc... comment puis-je détricote moi-même de cette situation et pousser mon code pour Github?
source d'informationauteur snowangel
Vous devez vous connecter pour publier un commentaire.
Git (depuis 1.8.3) a dorénavant un moyen de récupérer l'historique complet d'un clone simple:
De la git fetch documentation:
Je ne vais pas d'accord avec la accepté de répondre pour 2 raisons:
Ici sont mes suggestions:
Point de greffe
Vous devriez avoir un $GIT_DIR/.git/superficielle fichier avec un point de greffe. Si l'histoire est assez simple, ce point de greffe doit vous permettre de vous pousser, même si la documentation dit le contraire.
Patchs
Cela vous permet de garder de commettre l'histoire et etc:
Puis clone de l'origine et de réappliquer:
Ce temps, vous pouvez pousser !
Si vous travaillez dans un plat peu profond de clone et de l'absence de l'histoire est à l'origine du problème, vous pouvez récupérer plus d'histoire avec le
--depth
option.Où 20 est est le montant s'engage à aller chercher. L'augmenter si ce n'est pas suffisant.
Vous pouvez également utiliser le
--depth
option avecgit pull
.J'ai eu un problème similaire avec le poussant peu profonde cloner le repo de Bitbucket serveurs et je n'avais pas d'accès à de l'histoire ancienne. Enfin, j'avais trouvé une solution. Voir un exemple de script avec les commentaires ci-dessous: