Я использую Git для сотрудничества с другими пользователями, но сегодня я не могу получить последние изменения в некоторых файлах, используя «git pull
», и я не вижу изменений в «git log
».
В чем может быть проблема?
Я использую Git для сотрудничества с другими пользователями, но сегодня я не могу получить последние изменения в некоторых файлах, используя «git pull
», и я не вижу изменений в «git log
».
В чем может быть проблема?
что сработало для меня,
.git
папку.git
из другого репоgit checkout
Перед удалением вы можете попробовать
git fetch --all
git reset --hard origin/master
ВСЕГО НАИЛУЧШЕГО
Что сработало для меня,
git reset --hard origin/master
Он показал мне, что некоторые имена файлов были слишком длинными для git, чтобы вытащить их из моего репо, и, следовательно, несоответствие и неправильные сборки.
Итак, я побежал за исправлением и снова сделал полный сброс.
git config --system core.longpaths true
К счастью, это сработало.
В моем случае проблема заключалась в наличии файла index.lock
в моей папке .git
. Я удалил это, и тяга сработала.
Проверьте свою текущую ветку.
git status
git branch
Если вы не в ветке, значит, вы находитесь в отключенном режиме HEAD, и git pull
ничего не объединяет.
git log --all --branches
Это git log
поможет убедиться, что вы видите, есть ли новые коммиты в извлеченных ветвях (то есть в ветках удаленного отслеживания) .
Я использую этот псевдоним журнала git для отображения этих коммитов в виде графика.
У вас может быть незавершенное слияние, которое предотвращает тягу. Проверьте, выполняется ли фиксация.
Я просто хотел добавить еще один случай, когда это могло произойти. Я использовал редкую кассу. По какой-то причине у меня был каталог в моем рабочем дереве, который, как я думал, был включен в разреженную проверку (я думал, что он был указан в .git/info/sparse-checkout
), но не был (я удалил его из .git/info/sparse-checkout
по какой-то причине, по какой-то причине я сейчас забыл). просто игнорировалось pull
, checkout
или reset
или любыми другими командами. Это было очень запутанно, пока я не начал копировать конфигурацию разреженной проверки в новый, свежий клон и не осознал ошибку.
Это произойдет с вами только в том случае, если вы используете разреженную кассу. Если вы не используете разреженную кассу, этого не произойдет. (Проверьте конфигурацию git, чтобы узнать, включен ли sparseCheckout, и проверьте наличие .git / info / sparse-checkout, но вы бы знали, делали ли вы это, поскольку я думаю, что он в любом случае должен быть настроен пользователем вручную. ) (Погуглите, если вам интересно, что это такое - это простой механизм, позволяющий исключить файлы и каталоги из проверки, которые в противном случае были бы отслежены / извлечены / извлечены и т. Д.)
Есть 2 возможных сценария:
1. Если у вас есть учетная запись в Bitbucket, gitlab и т. Д.
Возможно, вам придется сначала выполнить синхронизацию с каталогом вилки, а затем выполнить git pull в локальной ветке. В основном вам нужно переустановить копию вилки, чтобы синхронизироваться с удаленным мастером, и выполнить git pull в вашей локальной копии.
2. Просто попробуйте переустановить локальную рабочую копию, чтобы она была синхронизирована с удаленным мастером.
git reset --hard origin / master
работает для меня, но вам нужно войти в папку, а затем использовать эту команду не только в родительской папке.
надеюсь, что мой комментарий будет кому-то полезен)) у меня была такая проблема. Я использую laravel на ubuntu, поэтому я решил это, сбросив opcache и перезапустив работника очереди.
для меня это были коммиты, которые я делал локально. Эти коммиты изменяют то, что я хочу вытащить. Итак, git pull не получает файл из источника