bash完成和git commit --message

时间:2015-04-18 09:44:10

标签: git bash-completion

我在命令行上使用Git。我经常在git分支中开发新功能,这些功能以与它们相关的Jira问题(Wikipedia: JIRA)命名,例如:分支" new-123"对于Jira票和#34; NEW-123"。

我有一个本地git prepare-commit-msg钩子,它将通过从Jira获取Jira票证的主题来创建提交消息。例如。 "完成#NEW-123:酷炫的新功能"。

但是,我更喜欢直接从命令行提交:

git commit -m "Finished #NEW-123: Cool new feature"

我想仅通过按[TAB]创建引用的提交消息。

我知道bash完成机制(Bash: An Introduction to Programmable Completion)。但是如何将它与现有的命令完成一起使用(git在bash中有其他优秀的完成)?我可以"链"完成?

或者我是否需要重新编写git完成函数(可能通过在我的自定义函数中添加一个钩子)?

1 个答案:

答案 0 :(得分:0)

你可以有一个包装器脚本,然后为此编写你的bash自动完成。然后在您要使用的命令行上,例如git-commitcommit作为您的命令而不是git commit,您可以完全控制自动完成功能。 (我已经commit作为git commit的别名,因为我做了这么多。)

我同意上述所有评论,如果你在我的团队中这样做,我会感到失望;你应该花时间在你的提交日志上并在那里放一些细节,而不是试图将它们排成一行。但这取决于你。