Git сравнение удаленных ветвей

#git

#git

Вопрос:

Я очень новичок в git и пытался использовать следующую команду для сравнения удаленной версии ветки с удаленной версией develop, чтобы показать файлы, которые имеют различия между ними:

  git diff origin/develop origin/feature/xxx --name-only
  

При запуске эта команда показала разные результаты для 3 разных машин разработки, и я не понимаю, почему.

Эта команда на самом деле не делает то, что я думаю, что она делает?

На самом деле я только что попробовал эту команду, даже не подключившись к удаленному серверу git, и она по-прежнему показывает мне результат, когда я ожидал получить какую-то ошибку?

Ответ №1:

При запуске эта команда показала разные результаты для 3 разных машин разработки

Он сравнивается с локальной версией этих ветвей удаленного отслеживания: это зависит от того, когда был извлечен удаленный.

Чтобы получить тот же результат (если выполняется на всех трех машинах одновременно), вам сначала понадобится git fetch .

Комментарии:

1. Спасибо, это имеет смысл, на самом деле это вообще не сравнение удаленных файлов.

2. @berimbolo точно: это сравнение последней локальной копии удаленного (это зависит от того, когда в последний раз выполнялась выборка)

3. Мне просто интересно, действительно ли возможно локально запустить команду, которая сравнивает фактические файлы в удаленном репозитории, которые были отправлены туда, или идея в том, что вы всегда сначала извлекаете, а затем выполняете сравнение?

4. @berimbolo всегда извлекает. Единственная команда, которая фактически запрашивает что-либо непосредственно на удаленной стороне (и включает сетевой запрос), это git ls-remote