Ik gebruik Git om samen te werken met andere gebruikers, maar vandaag kan ik de laatste wijziging van sommige bestanden niet krijgen met “git pull
“, en ik kan de wijzigingen niet zien in “git log
“.
Wat kan het probleem zijn?
Antwoord 1, autoriteit 100%
wat voor mij werkte, is ,
- verwijder de map
.git
- kopieer
.git
van een andere repo - nu
git checkout
Voordat u verwijdert, kunt u het proberen
git fetch --all
git reset --hard origin/master
ALLES HET BESTE
Antwoord 2, autoriteit 47%
Wat voor mij werkte,
git reset --hard origin/master
Het liet me zien dat sommige bestandsnamen te lang waren voor git om ze uit mijn repo te halen en vandaar de mismatch en incorrecte builds.
Dus ik rende naar achteren om het op te lossen en deed opnieuw een harde reset.
git config --system core.longpaths true
Gelukkig werkte het.
Antwoord 3, autoriteit 19%
In mijn geval was het probleem dat ik een index.lock
-bestand in mijn .git
-map had. Ik heb dat verwijderd en pull werkte.
Antwoord 4, autoriteit 17%
Controleer uw huidige vestiging.
git status
git branch
Als je niet in een branch zit, zit je in een losstaande HEAD-modusen git pull
zou niets samenvoegen.
git log --all --branches
Dat git log
zal ervoor zorgen dat je kunt zien of er nieuwe commits zijn op opgehaalde branches (dat wil zeggen, de vertakkingen volgen op afstand).
Ik gebruik dat git log alias om die commits als een grafiek te tonen.
Antwoord 5, Autoriteit 17%
Je zou een onvoltooide samenvoeging kunnen hebben die de trek voorkomt. Controleer of u een plegen in uitvoering hebt.
Antwoord 6, Autoriteit 3%
Ik wilde gewoon een ander geval toevoegen waar dit zou kunnen gebeuren. Ik gebruikte een dunne kassa. Om een of andere reden had ik een map in mijn werkboom waarvan ik dacht dat ik in de dunne kassa was opgenomen (ik dacht dat het werd vermeld in .git/info/sparse-checkout
) maar dat was niet (ik had Verwijderde het van .git/info/sparse-checkout
Om de een of andere reden vergeten ik nu.) Dus het werd gewoon genegeerd door pull
of checkout
of reset
of andere opdrachten. Het was erg verwarrend totdat ik begon de dunne check-outconfiguratie te repliceren in een nieuwe, verse kloon en realiseerde de fout.
Dit zou alleen met u gebeuren als u een dunne kassa gebruikt. Als u geen dunne kassa gebruikt, kan dit niet gebeuren. (Controleer Git Config om te zien of SparSheckout is ingeschakeld en controleer op het bestaan van .git / info / sparse-checkout, maar u zou weten of u dit aan het doen was, omdat ik denk dat het toch handmatig door de gebruiker moet worden ingesteld door de gebruiker. ) (Google het als je nieuwsgierig bent wat het is … het is gewoon een eenvoudig mechanisme om bestanden en mappen weg te laten van een kassa die anders zou worden gevolgd / getrokken / opgehaald, enz.)
Antwoord 7
Er zijn 2 mogelijke Sceinrios:
1. Als u een account heeft in Bitbucket, Gitlab en enz. Misschien moet u eerst met uw vorkmap synchroniseren en vervolgens Git-trek op uw lokale filiaal uitvoeren. In principe moet je je vork-kopie opnieuw inbrengen om synchroon te krijgen met externe master en git pull in je lokale kopie uit te voeren.
2. Probeer gewoon uw lokale werkkopie opnieuw in te dienen om synchroon te zijn met Remote Master.
Antwoord 8
git reset –hard origin/master
werkt voor mij, maar je moet naar de map gaan en deze opdracht vervolgens niet alleen op de bovenliggende map gebruiken.
Antwoord 9
ik hoop dat mijn commentaar nuttig zal zijn voor iemand)) ik had dit soort problemen. ik gebruik laravel op ubuntu, dus ik heb het opgelost door opcache opnieuw in te stellen en wachtrijwerker opnieuw te starten.
Antwoord 10
voor mij waren het toezeggingen die ik lokaal deed.
Deze commits wijzigen iets dat ik wil trekken.
Dus git pull haalt het bestand niet van de oorsprong