Bestanden worden niet bijgewerkt met ‘git pull’

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 ,

  1. verwijder de map .git
  2. kopieer .gitvan een andere repo
  3. 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 pullzou niets samenvoegen.

git log --all --branches

Dat git logzal 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-checkoutOm de een of andere reden vergeten ik nu.) Dus het werd gewoon genegeerd door pullof checkoutof resetof 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

Other episodes