git status говорит, что обновлен с помощью remote, хотя это не так
У нас есть git-репозиторий, размещенный на общем сетевом диске, к которому имеют доступ несколько коллег. Я назову это "Центральный репозиторий". Сотрудники клонируют этот репозиторий на свои локальные машины, вносят изменения, а затем отправляют изменения обратно.
Мы заметили, что если кто-то вносит изменения в центральный репозиторий, локальные репозитории git другого сотрудника не указывают, что они не синхронизированы. git status
говорит
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
Но это явно не актуально. На пульте есть изменения, но git их не замечает. Вы можете сделать git pull
и он сразу же загружает изменения в локальный репозиторий, хотя и утверждает, что он уже обновлен.
Почему это происходит? Это потому, что центральное хранилище размещено на общем сетевом диске? А может быть, git по какой-то причине не может определить, не синхронизирован ли он? Использование графического интерфейса, такого как Git Tower, также не имеет значения. Даже нажатие кнопки "Обновить" в графическом интерфейсе не означает, что он не синхронизирован. Также локальная ветка master отслеживает origin/master
,
Что-нибудь можно сделать, чтобы решить эту проблему?
1 ответ
Вы должны позвонить git fetch
получать обновления из удаленного репо в локальное репо, но без изменения текущей позиции филиала. После этого git status
покажет правильные результаты.