2013-12-14 5 views
6

Я использую Git для взаимодействия с другими пользователями, но сегодня я не могу получить последнее изменение в некоторых файлах с помощью «git pull», и я не вижу изменений в «git log».Файлы, не обновляющиеся с помощью 'git pull'

В чем может быть проблема?

+1

Вы уверены, что правильно их выбрали? – Jepessen

+0

Кажется, нет ничего, чтобы получить обновления. Вы уверены, что файлы исправлены другим пользователем и в том же хранилище? Никакие журналы не дают сомнений в этом направлении. – Aditya

+0

Уверены ли вы, что подчиненные подтолкнули вас к ветке, которую вы пытаетесь вытащить? –

ответ

2

Проверьте текущую ветку.

git status 
git branch 

Если вы не в отрасли, вы находитесь в detached HEAD mode и git pull ничего не сливаться бы.

git log --all --branches 

git log Это поможет убедиться, что вы видите, если есть какие-либо новые коммиты на принесенных ветвей (то есть, remote tracking branches).
Я использую этот git log alias для отображения этих коммитов как графика.

+0

Хорошее мышление. Закройте края. – Laereom

2

У вас может быть незавершенное слияние, которое предотвращает тягу. Убедитесь, что у вас есть фиксация.

+1

Как вы проверяете, выполняется ли фиксация? –

1

Я просто хотел добавить еще один случай, когда это может произойти. Я использовал редкую проверку. По какой-то причине у меня была директория в рабочем дереве, которая, как я думал, была включена в редкую проверку (я думал, что она указана в .git/info/sparse-checkout), но не была (я удалил ее с .git/info/sparse-checkout по какой-то причине, которую я сейчас забыл). был просто проигнорирован pull или checkout или reset или любыми другими командами. Это было очень запутанно, пока я не начал реплицировать редкую конфигурацию заказа в новом, новом клоне и понял ошибку.

Это произойдет только с вами, если вы используете редкую проверку. Если вы не используете редкую проверку, это не может случиться. (Проверьте конфигурацию git, чтобы проверить, включен ли sparseCheckout, и проверьте наличие .git/info/sparse-checkout, но вы бы знали, делаете ли вы это, так как я думаю, что он должен быть настроен вручную пользователем в любом случае.) (Google, если вам интересно, что это такое - просто простой механизм, чтобы опустить файлы и каталоги из проверки, которые в противном случае можно было бы отслеживать/вытаскивать/извлекать и т. Д.)

4

В моем случае проблема была у меня имея файл index.lock в моей папке .git. Я удалил это и потянул.

+1

По какой-то причине Git не упоминает об этом! – CBHacking

Смежные вопросы