2013-08-08 2 views
4

Сегодня я заметил в своей среде IDE (IntelliJ), что, когда я выполняю «фиксацию и нажатие» на уровне IDE, я вижу на вкладке вывода контроля версий что IntelliJ использует следующую команду:Что такое флаг Git '--progress' и как его использовать

git push --progress origin storyBranchA:storyBranchA 

Интересно, как я могу использовать этот флаг «прогресс» вне моего IDE, есть ли хорошее использование объяснено где-то, как я не могу найти ничего об этом флаге, и почему IDE фактически определяя ветвь совершить как storyBranchA:storyBranchA, а не просто

git push --progress origin storyBranchA 

С уважением Kris

ответ

4

man page for git push, похоже, документально флаг:

--progress

статус Прогресс сообщается на стандартный поток ошибок по умолчанию, когда он подключен к терминалу, если -q не указано. Этот флаг передает статус прогресса, даже если стандартный поток ошибок не направлен на терминал.

Поскольку IntelliJ не запускает программу под терминалом, она просит Git сообщать о достигнутом прогрессе.

Причина для указания как локального, так и удаленного refspec в командной строке git push заключается в том, что они никогда не оптимизировались для случая, когда обе стороны одинаковы. storyBranchA эквивалентно storyBranchA:storyBranchA. Возможно, что ветвь называется одним способом локально, а другой - удаленно. В этом случае вы увидите что-то вроде storyBranchA:someOtherRef в командной строке.

Вы также не хотите просто использовать git push вслепую, потому что их настройки могут иметь установку git push, чтобы проталкивать все ветви отслеживания, а не единственную ветвь, которая была предназначена.

Смежные вопросы