Как провести различие между текущей веткой и базой, вместо того, чтобы вводить родительскую ветку - PullRequest
1 голос
/ 17 апреля 2020

Пример)
есть ветвь develop и ветвь feature, которая получена из ветви develop, и в настоящее время я работаю над feature веткой

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

git diff feature...develop

Но что, если я просто хочу провести различие между current branch и base, а не набирать develop branch?

(я не хочу печатать ветку разработки.)

Есть ли способ добиться этого?

1 Ответ

3 голосов
/ 17 апреля 2020

Текущая ветка может быть названа двумя способами:

  • по имени, например, 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 должен иметь это как концепция, но это не так.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...