Отредактируйте, чтобы добавить ключевой элемент (который я, вероятно, должен был перечислить первым): Git не знает или не заботится о том, что два URL-адреса, перечисленные под двумя пультами, используют один и тот же URL.
git remote
спискиваши пульты .Они могут иметь мало общего или не иметь ничего общего с тем, что на самом деле находится в вашем хранилище.
git show
показывает объекты из вашего хранилища.Они могут иметь мало общего или не иметь ничего общего с вашим списком удаленных устройств.
Запуск git fetch origin
, как правило, заставит ваш Git связаться с другим Git, используя удаленное имя origin
для получения URL.Затем он получит от этого другого Git коммиты, которые у них есть, которых у вас нет (по какой-либо причине - либо у вас их никогда не было, так что теперь у вас есть, или вы убедили свой Git избавиться от них, и теперь они вернулись),Затем, в качестве последней части работы, он обновит имена для удаленного отслеживания , которые ваш Git использует для запоминания веток других Git.Например, ваш origin/develop
- полное имя на самом деле refs/remotes/origin/develop
, но вы можете пропустить refs/
или даже refs/remotes/
в большинстве случаев - теперь будет помнить, что их Git сказал их develop
было в то время, когда вы разговаривали с ними.(Это может быть устаревшим в течение нескольких секунд после прекращения разговора, в зависимости от того, насколько занят этот другой репозиторий Git.)
Запуск git fetch upstream
будет делать то же самое, за исключением того, что ваш Git будет вызывать Gitчей URL указан для удаленного имени upstream
, а затем обновит имена удаленного отслеживания в форме upstream/*
вместо origin/*
.
После вы выполните эти двавыборки - или git fetch --all
, в которых указано выборка со всех пультов - , а затем ваши имена для удаленного отслеживания будут иметь хэш-идентификаторы для соответствующих коммитов, которые теперь существуют в вашем локальном репозитории.Ваш git show
может затем показать вам эти коммиты или файлы внутри этих коммитов.