Текущая ветка может быть названа двумя способами:
- по имени, например,
develop
или feature
или master
, или - по имени
HEAD
.
Следовательно, если вы в настоящее время набираете develop
и w sh, чтобы сделать git diff feature...develop
без ввода семи букв d
, e
, v
, e
, l
, o
, p
, вы можете запустить:
git diff feature...HEAD
Само по себе это небольшое улучшение, за исключением того, что в скрипте HEAD
автоматически ссылается в текущую ветку, что бы это ни было. Однако для меньшего количества нажатий клавиш в командной строке - при условии, что это цель - учитывайте тот факт, что @
сам по себе является псевдонимом для HEAD
, так что вы можете ввести:
git diff feature...@
Last, пропуск имя HEAD
работает в некоторых случаях. Этот конкретный вид git diff
является одним из них. Следовательно, вы можете ввести:
git diff feature...
и нажать Введите на этом этапе, не вводя @
или HEAD
или develop
вообще. (Набор Git команд и аргументов, которые позволяют это, является сложным. Обратитесь к документации Git для каждого случая, чтобы выяснить, работает ли это для других команд и / или аргументов.)
В вашем случае в данный момент вы используете feature
, поэтому вам нужно отменить все вышеперечисленное:
git diff ...develop
То есть вы можете не указывать имя feature
, потому что это ваш текущий ветка, но вы не можете оставить имя develop
. (Примечание: этот тип сравнения сравнивает базу слияния feature
и develop
с вершиной develop
, и если вы в данный момент используете feature
, это не все, что часто нужно для правильного сравнения Вот почему я сначала прочитал вопрос наоборот.
(Примечание: в Git нет такой вещи, как базовая ветвь . Git Концентратор имеет концепцию базовой ветви , но не Git. Базовая ветвь per-PR в GitHub. Можно утверждать, что Git должен иметь это как концепция, но это не так.)