git: отобразить текущее значение конфигурации слияния - PullRequest
1 голос
/ 16 января 2012

Есть ли способ отобразить текущую опцию конфигурации слияния в git без , вручную указав текущую ветвь, в которой я нахожусь. Я хочу сделать что-то вроде этого:

$ git cur-merge-val
branch.current.merge = /refs/heads/current

где git cur-merge-val может быть какой-то длинной, сложной серией команд git, для которой я могу создать псевдоним - до тех пор, пока то, что я лично набираю в командной строке, не требует ввода текущей ветви, в которой я нахожусь (потому что это кажется избыточным, поскольку эта информация должна быть программно доступна каким-то образом).

Ответы [ 2 ]

1 голос
/ 16 января 2012

Создайте следующий скрипт (например, назовите его cur-merge-val.sh и сделайте его исполняемым):

current=`git status -s -b | head -1 | cut -d' ' -f2`
git config branch.$current.merge

Затем просто добавьте следующее в ваш файл .gitconfig:

[псевдоним]
cur-merge-val = /path/to/cur-merge-val.sh

0 голосов
/ 16 января 2012

Я нашел решение, которое:

  1. избегает фарфора команд в пользу сантехнических команд
  2. показывает также текущее значение удаленной конфигурации и все возможные значения конфигурации слияния, если их несколько.
  3. избавляет от необходимости создавать другой исполняемый файл

см. https://stackoverflow.com/a/1593487/10608, чтобы узнать, почему я получаю имя текущей ветви так, как я.

[alias]
    cur-merge-val = !branch_name="$(git symbolic-ref HEAD)" && branch_name=${branch_name##refs/heads/} && git config --get-all branch.$branch_name.remote; git config --get-all branch.$branch_name.merge
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...