Почему моя командная строка выдает информацию, отличную от визуальной студии при проверке состояния git-репо? - PullRequest
0 голосов
/ 29 мая 2019

Я тестирую написание сценария, чтобы вытащить последнюю версию мастера, а затем объединить или перебазировать мою локальную ветку на основе обновленного мастера.

Пытаясь сделать это, я сталкиваюсь с проблемой, когда visual studio видит, что есть коммит, который мне нужно выполнить, чтобы получить последние данные, но в командной строке указано, что я действующий.

Я приложил снимок экрана, показывающий входящий коммит, показывающий в Visual Studio, но кли показывает, что он обновлен.

Confusing displays

Repo Folder

1 Ответ

0 голосов
/ 29 мая 2019

Если git status не показывает никаких изменений на пульте (origin/master), но Visual Studio действительно показывает изменения для извлечения, возможно, Git не обновил свои ветви удаленного отслеживания.Только команды git fetch, git pull и git remote update обычно обращаются к удаленному серверу для обновления его состояния.Это часть того, что делает Git таким быстрым - он обычно работает из локального репозитория.

Запустите git remote update для обновления веток удаленного отслеживания.Тогда git status точно покажет изменения для вытягивания.

Пример:

$ git status
On branch develop
Your branch is up to date with 'origin/develop'.

nothing to commit, working tree clean
✔ ~/myrepo [develop|✔] 
$ git remote update
Fetching origin
✔ ~/myrepo [develop ↓·1|✔] 
$ git status
On branch develop
Your branch is behind 'origin/develop' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

nothing to commit, working tree clean
✔ ~/myrepo [develop ↓·1|✔] 
$ 
...