git branch --edit-description
命令打开用户手动输入Git当前分支的描述的文本编辑器。
我所追求的是:
git config branch.my_branch.description < <(fmt --width=72 <<MY_DESCRIPTION
Subject (50 chars max)
Intro (one sentence, line wraps after 72 chars)
Description (multiple paragraphs, line wraps after 72 chars)
MY_DESCRIPTION
根据manpage git config --file=config-file
仅用于从或写入非标准配置文件。还有最近的补丁http://git.661346.n2.nabble.com/patch-config-git-git-config-from-from-file-file-file-file-quot-quot-filename-filename-as-s-s-stdin-td7603641.html来自标准输入的配置值。
有什么想法如何以简单的方式解决这个问题,理想情况下是git内置的?如果不可能,后者不是重新定价。感谢您的宝贵输入。
您在正确的轨道上使用git config
。--edit-description
选项仅在默认值(本地)Git配置文件中设置branch.branchname.description
。
(描述是逃生序列编码的,但是git config
将为您做到这一点。)
shell-ess:
$ git config branch.my_branch.description 'Subject (50 chars max)
Intro (one sentence, line wraps after 72 chars)
Description (multiple paragraphs, line wraps after 72 chars)
MY_DESCRIPTION
'
可以解决问题。如果您的文件中有描述,例如/tmp/file
:
$ git config branch.my_branch.description "$(cat /tmp/file)"
做到了。显然,您可以用任何其他命令(例如fmt
)替换cat
,并且您可以使用此处:
$ git config branch.my_branch.description "$(cat << END)"
some lines
of text
that wind up in the description.
END
(在我的测试中
编辑:bash不喜欢上述文档语法;这似乎有效:
cmd "$(cat << END
here-document text
goes here
END
)"
在我的测试系统中,在bash和/bin/sh中。