Ошибка с мерзавцем - PullRequest
       1

Ошибка с мерзавцем

0 голосов
/ 06 декабря 2018

Что касается git show, то происхождение и восходящий поток различны.

Когда я делаю

git remote -v

, я получаю

origin git @ git.corelogic.local: corelogic / reports.git (fetch)

origin git@git.corelogic.local: corelogic / reports.git (push)

upstream git@git.corelogic.local:corelogic / reports.git (fetch)

upstream git@git.corelogic.local: corelogic / reports.git (push)

Когда я делаю

git show remotes/upstream/develop:oracle/framework/Programs/Populate_Datamart.sql

Я получаю файл на ветке разработки в центральном репозитории @ git.corelogic.local

Когда я делаю

git show remotes/origin/develop:oracle/framework/Programs/Populate_Datamart.sql

, я получаю этот файл при более ранней фиксации.Это другое!

1 Ответ

0 голосов
/ 06 декабря 2018

Отредактируйте, чтобы добавить ключевой элемент (который я, вероятно, должен был перечислить первым): 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 может затем показать вам эти коммиты или файлы внутри этих коммитов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...