gpt4 book ai didi

git - bash 中的函数提交并推送一个命令

转载 作者:太空狗 更新时间:2023-10-29 13:05:59 26 4
gpt4 key购买 nike

我尝试提交并推送一个命令,输入如下内容:

gm "这是我的提交信息"

哪个会运行:

git commit -am "这是我的提交信息"&& git push

我在我的 .bashrc 中试过这个函数:

function gm() {
git commit -am $1 && git push
}

这行得通,除了我不能输入几个单词作为提交消息这一事实。我可以跑

gm My_Message

它工作正常,但如果我输入几个字,比如

gm 这是我的消息

它只会运行 git commit -am "This"&& git push。我尝试使用引号,但它返回错误。我应该如何配置此功能才能工作?

最佳答案

调用函数的地方和 git 命令都需要引号。

function gm() {
git commit -am "$1" && git push
}

gm "This is my message"

另一种方法是:

function gm() {
git commit -am "$*" && git push
}

gm This is my message

但这意味着:

gm This commit  has double  spaced sections.\t And a tab, \
and a new line

(其中\t 实际上是一个制表符)
将给出以下提交消息:

This commit has double spaced sections. And a tab, and a new line

所以所有的空白都被折叠了。

此外,如果您想输入更复杂和完整的提交消息,您可能需要 $EDITOR 并完全省略 -m

此外,如果您立即推送每个提交,您并没有真正使用分布式版本控制的强大功能。

关于git - bash 中的函数提交并推送一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852148/

26 4 0
文章推荐: html - 没有 是否可以实现这种对齐?