#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