2009-09-04 9 views

Répondre

1

Si vous regardez le nombre d'objets que Git envoie à la télécommande, cela peut vous induire en erreur. Git crée un objet non seulement pour chaque fichier de votre commit, mais aussi pour chaque répertoire (arbre), chaque commit et chaque tag. Si vous effectuez des opérations telles que des fusions, vous pouvez également avoir un peu plus de validations que vous ne le pensez.

Quelle est la taille de votre référentiel? Quels sont les chiffres que vous regardez pour juger de la quantité de données?

1

Git convertit des arborescences entières de fichiers et chaque commit pointe vers un snapshot complet d'un arbre. Git s'appuie ensuite sur la compression pour réduire la taille du dépôt. Ainsi, les données qui doivent être transférées lorsque vous appuyez sur sont des instantanés plutôt que des différences. En effet, Git demande au serveur quel est son dernier commit et envoie ensuite toutes les validations locales dans cette branche qui sont construites dessus. Les objets sont probablement compressés lors de leur transfert, mais ce sont toujours des instantanés.

C'est au moins ma compréhension.

0

cela pourrait être une réponse triviale, mais je pense que l'erreur que j'ai faite est de "git add". Avant d'engager des changements.

Si je "git ajouter un nom de fichier" puis que je valide quand "git push master d'origine", seul ce fichier est transféré vers github.

+3

Il est inoffensif d'utiliser 'git add' pour un fichier qui est déjà dans le dépôt et qui n'a pas changé - Git le reconnaîtra et ne fera rien. Cependant, si vous avez des fichiers * autres * (tels que des fichiers compilés '.obj') qui sont ajoutés avec' git add .', alors cela pourrait certainement expliquer le comportement que vous avez vu. C'est une bonne idée de prendre l'habitude de faire un «statut git» fréquemment, pour vous assurer que votre idée de ce qui a changé et l'idée de Git correspondent réellement. –

Questions connexes