статус git говорит о актуальности с пультом дистанционного управления, хотя это не так


У нас есть репозиторий git, размещенный на общем сетевом диске, к которому имеют доступ несколько сотрудников. Я назову это "центральным хранилищем". Сотрудники клонируют это РЕПО на свои локальные компьютеры, вносят изменения, а затем возвращают изменения обратно.

Мы заметили, что если кто-то отправляет изменения в центральный репозиторий, локальные репозитории Git других сотрудников не указывают на то, что они не синхронизированы. git status говорит

On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean
Но он явно не соответствует современным требованиям. Есть изменения на пульте, но ГИТ не чувствует их. Вы можете сделать git pull, и он немедленно загружает изменения в ваше локальное РЕПО, даже если он утверждал, что он уже обновлен.

Почему это происходит? Не потому ли, что центральный репозиторий размещен на общем сетевом диске? И может быть, git по какой-то причине не может сказать, если он не синхронизирован? Использование графического интерфейса, такого как Git Tower, также не имеет значения. Даже нажатие кнопки "Обновить" в графическом интерфейсе не указывает на то, что он не синхронизирован. Кроме того, местные главная ветвь отслеживает origin/master.

Есть ли что-нибудь, что можно сделать, чтобы исправить эту проблему?
1 5

1 ответ:

Вы должны позвонить git fetch, чтобы получить обновления от удаленного РЕПО к локальному РЕПО, но без изменения текущего положения филиала. После этого git status покажет надлежащие результаты.