#git #github
#мерзавец #github
Вопрос:
Ветка, над которой я работаю, называется dev, поэтому я сделал следующее, чтобы увидеть, есть ли какие-либо различия между тем, что у меня есть на моем компьютере, и тем, что есть в github:
git fetch origin
git diff dev origin/dev
Я сделал это в командной строке в Windows, и после выполнения каждой команды курсор переходил к следующей строке без вывода. Означает ли это, что нет никаких различий?
Комментарии:
1. Я не могу себе представить, почему это не должно это означать, но я не знаю, есть ли какой-то неясный угловой случай.
2. Нет, это не значит, что. Это означает, что между рабочим каталогом и промежуточной областью нет различий. Если вы внесли какие-либо изменения, вы можете увидеть эти различия с помощью
git diff --cached
Ответ №1:
git diff
как и при обычном diff
вызове, выводит все различия, если таковые имеются, а затем завершает 0, если изменений не было, завершает 1, если были изменения, и завершает 2 или больше, если произошла ошибка.
Так что, как правило, да, это означало бы, что изменений нет. Есть несколько необычных случаев, когда это также может означать что-то еще, например ошибку, поэтому, если вы хотите быть уверенным, вам также следует проверить, что команда завершила 0. В оболочке POSIX вы можете увидеть статус завершения непосредственно предыдущей команды с echo $?
помощью . Вероятно, есть способ сделать это в CMD или PowerShell, но поскольку я не являюсь пользователем Windows, это оставлено в качестве упражнения для читателя.