如何使用 GitHub hub cli 工具创建拉取请求描述?
How do you create a pull request description with the GitHub hub cli tool?
我正在这样做:
pull_request() {
local url=""
local title=""
local message=$(cat <<-END
$title\n
\n
- [Story]($url)
END
)
echo $message
local pr_url=$(hub pull-request -m "$message")
open $pr_url
}
我希望它出现在描述中:
- [Story](...url)
还有一些 single-line 的标题。相反,标题是这样说的:
test\n \n - [Story](...url) END
当我运行:
pull_request "...url" "test"
如何使用 hub 工具设置描述?
因为您没有在 echo 调用中引用 $message
,所以输出显示在一行中。使用 echo "$message"
保留换行符。没有必要使用 \n
,因为使用 Heredoc 时会直接存储换行符。实际上,它们被视为普通文本。
根据documentation, "消息中第一个空行之前的文本被视为拉取请求标题,其余部分用作 Markdown 中的拉取请求描述格式。" 因为你没有空行(记住 \n
不会被解释为换行符),描述永远不会开始,所有内容都在标题中结束。
要解决此问题,请删除不必要的 \n
并确保标题后有一个空行。此外,我建议使用 hub pull-request 的 --browse
参数在浏览器中自动打开 PR。通过包装对 hub 的调用,您可以屏蔽其他输出(如身份验证)并且在所有情况下都不会以变量中的 URL 结尾。
这是一个工作脚本 (make-pr.sh
):
#!/bin/bash
pull_request() {
local url=""
local title=""
local message=$(cat <<-END
$title
- [Story]($url)
END
)
echo "$message"
hub pull-request --browse -m "$message"
}
pull_request "$@"
示例:
$ ./make-pr.sh "https://abc.tld" "A nice title"
A nice title
- [Story](https://abc.tld)
我正在这样做:
pull_request() {
local url=""
local title=""
local message=$(cat <<-END
$title\n
\n
- [Story]($url)
END
)
echo $message
local pr_url=$(hub pull-request -m "$message")
open $pr_url
}
我希望它出现在描述中:
- [Story](...url)
还有一些 single-line 的标题。相反,标题是这样说的:
test\n \n - [Story](...url) END
当我运行:
pull_request "...url" "test"
如何使用 hub 工具设置描述?
因为您没有在 echo 调用中引用 $message
,所以输出显示在一行中。使用 echo "$message"
保留换行符。没有必要使用 \n
,因为使用 Heredoc 时会直接存储换行符。实际上,它们被视为普通文本。
根据documentation, "消息中第一个空行之前的文本被视为拉取请求标题,其余部分用作 Markdown 中的拉取请求描述格式。" 因为你没有空行(记住 \n
不会被解释为换行符),描述永远不会开始,所有内容都在标题中结束。
要解决此问题,请删除不必要的 \n
并确保标题后有一个空行。此外,我建议使用 hub pull-request 的 --browse
参数在浏览器中自动打开 PR。通过包装对 hub 的调用,您可以屏蔽其他输出(如身份验证)并且在所有情况下都不会以变量中的 URL 结尾。
这是一个工作脚本 (make-pr.sh
):
#!/bin/bash
pull_request() {
local url=""
local title=""
local message=$(cat <<-END
$title
- [Story]($url)
END
)
echo "$message"
hub pull-request --browse -m "$message"
}
pull_request "$@"
示例:
$ ./make-pr.sh "https://abc.tld" "A nice title"
A nice title
- [Story](https://abc.tld)