如何以编程方式配置 Git 分支的描述?



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中。

相关内容

  • 没有找到相关文章

最新更新