J'utilise Git pour coopérer avec d'autres utilisateurs, mais aujourd'hui, je ne peux pas obtenir la dernière modification de certains fichiers à l'aide de "git pull
", et je ne vois pas les modifications dans" git log
".
Quel pourrait être le problème?
ce qui a fonctionné pour moi,
.git
dossier.git
d'un autre dépôtgit checkout
Avant de retirer, vous pouvez essayer
git fetch --all
git reset --hard Origin/master
BONNE CHANCE
Ce qui a fonctionné pour moi,
git reset --hard Origin/master
Cela m'a montré que certains noms de fichiers étaient trop longs pour que git puisse les retirer de mon référentiel et donc le décalage et les builds incorrects.
J'ai donc couru suivre pour corriger et refaire une réinitialisation matérielle.
git config --system core.longpaths true
Heureusement, cela a fonctionné.
Dans mon cas, le problème était que j'avais un index.lock
fichier dans mon .git
dossier. Je l'ai enlevé et j'ai tiré.
Vérifiez votre succursale actuelle.
git status
git branch
Si vous n'êtes pas dans une branche, vous êtes dans un détaché HEAD et git pull
ne fusionnerait rien.
git log --all --branches
Cette git log
vous aidera à voir s'il y a de nouveaux commits sur les branches récupérées (c'est-à-dire les branches de suivi à distance ).
J'utilise cela git log alias pour afficher ces validations sous forme de graphique.
Vous pourriez avoir une fusion inachevée qui empêche la traction. Vérifiez si vous avez un commit en cours.
Je voulais juste ajouter un autre cas où cela pourrait arriver. J'utilisais une caisse clairsemée. Pour une raison quelconque, j'avais un répertoire dans mon arbre de travail que je pensais être inclus dans la caisse clairsemée (je pensais qu'il était répertorié dans .git/info/sparse-checkout
) mais pas (je l'avais supprimé de .git/info/sparse-checkout
pour une raison que j'oublie maintenant.) Il était donc simplement ignoré par pull
ou checkout
ou reset
ou toute autre commande. C'était très déroutant jusqu'à ce que je commence à répliquer la configuration de caisse clairsemée dans un nouveau clone frais et que je réalise l'erreur.
Cela ne vous arriverait que si vous utilisez une caisse clairsemée. Si vous n'utilisez pas une caisse clairsemée, cela ne pourrait pas arriver. (Vérifiez git config pour voir si sparseCheckout est activé, et vérifiez l'existence de .git/info/sparse-checkout, mais vous sauriez si vous faisiez cela car je pense qu'il doit être configuré manuellement par l'utilisateur de toute façon. ) (Google si vous êtes curieux de savoir ce que c'est - c'est juste un mécanisme simple pour omettre des fichiers et des répertoires d'une caisse qui seraient autrement suivis/extraits/récupérés, etc.)
Il y a 2 sceanrios possibles:
1. Si vous avez un compte dans Bitbucket, gitlab et etc.
Vous devrez peut-être d'abord vous synchroniser avec votre répertoire fork, puis effectuer git pull sur votre branche locale. Fondamentalement, vous devez rebaser votre copie fork pour vous synchroniser avec le maître distant et effectuer une extraction git dans votre copie locale.
2. Essayez simplement de rebaser votre copie de travail locale pour qu'elle soit synchronisée avec le maître distant.