gpt4 book ai didi

git - 用于 git 提交的 Shell 脚本助手

转载 作者:太空狗 更新时间:2023-10-29 13:27:55 24 4
gpt4 key购买 nike

我正在尝试编写一个简单的 shell 脚本来简化 git 提交过程。

代替

git add . -A
git commit -m "message"
git push

我想做 commit.sh "my commit message"

这是我所拥有的:

#!/bin/bash
commit_message="$1"
git add . -A
git commit -m $commit_message
git push

这有两个问题:

  1. 当提交消息包含空格时,例如“我的提交消息”,我得到以下输出:

    错误:pathspec 'commit' 与 git 已知的任何文件都不匹配。

    错误:pathspec 'message' 与 git 已知的任何文件都不匹配。

    所以它使用的提交消息的唯一部分是“我的”,其他部分“提交消息”被省略了。

  2. 我认为 git add . 引用了 shell 脚本的位置,而不是当前项目目录。我该怎么做才能让 git add . 引用我当前在终端中的位置?

最佳答案

您必须在脚本中引用变量。

#!/bin/bash -e
commit_message="$1"
git add . -A
git commit -m "$commit_message"
git push

我还设置了“-e”,这样如果有任何错误,脚本将退出而不处理后续命令。

关于您的第二个问题,脚本中的 . 应该按照您的意愿引用您当前的工作目录。但是 -A 导致它添加所有已在 repo 中修改的文件。

关于git - 用于 git 提交的 Shell 脚本助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com