【问题标题】:How to Pass Multiple Commands to Git BASH如何将多个命令传递给 Git BASH
【发布时间】:2016-01-27 17:50:26
【问题描述】:

Git 新手。在 Windows 上运行它。当我在 .sh 文件(来自 BASH shell)中运行此命令时,它可以工作:

cd /c/SomeDir && git commit -a -m "提交评论"

我想使用变量注释来做到这一点,所以我想调用: C:\Program Files\Git\usr\bin\bash.exe 并将上述命令(2 个链接的命令)作为参数传递(每次使用不同的注释)。

它不起作用;寻找想法...

澄清:我正在使用一个实用程序来运行命令,但基本上,这就是我想要调用的全部内容:
可执行文件:
C:\Program Files\Git\usr\bin\bash.exe
参数(如果 test.sh 包含除注释之外的所有内容):
bash /c/somewhere/test.sh "my comment"

或者,参数可以简单地是:
cd /c/MyRepoDir && git commit -a -m "my comment"

进一步:即使在创建 .sh 脚本、调用 bash 并运行该脚本之后,我仍然收到错误消息,“带有 -a 的路径没有意义。”然后,即使按照推荐的here(相同的命令),我仍然会收到相同的错误。

【问题讨论】:

    标签: git bash


    【解决方案1】:

    尝试将 $1 放入以引用第一个参数

    cd /c/SomeDir && git commit -a -m "$1"
    

    所以 myScript.sh 包含您的行,然后

    bash myScript.sh "this is my commit message"
    

    使用 cd 的另一种方法是 pushd 和 popd

    #!/bin/bash
    pushd mygitdir
    git commit -a -m "$1"
    popd
    

    【讨论】:

    • “带有 -a 的路径没有意义。”将“$1”恢复为硬编码,仍然按照您的指示调用 bash 有效。将 2 个命令分别放在自己的行上(好像是在用 cd 命令做某事);结果相同。
    • 所以不要将它们作为参数传递,将这些命令放在 shell 脚本(bash 或 bat)中,并将您的注释作为参数传递。
    • 困惑;听起来和你原来的建议一模一样。
    • 我想我还是很困惑。也许你可以更好地解释这个问题?给出一些你拥有和输出的例子,以及你可能喜欢的输出例子。这让世界有机会重现您的问题。
    • 随着您在 git 道路上走得更远,您可能会发现不使用全面提交会更容易,有各种临时文件和其他容易出现的弹片。
    猜你喜欢
    • 2023-01-11
    • 2018-02-13
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 2018-02-14
    相关资源
    最近更新 更多