【问题标题】:What is the meaning of the "bang" or "!" before the git command?“砰”或“!”是什么意思?在 git 命令之前?
【发布时间】:2012-05-25 08:50:08
【问题描述】:

正如您从这段摘录中看到的那样,有一个“!”在 git 命令之前。有什么意义?

[alias]
commitx = !git add . && git commit

-https://stackoverflow.com/a/8956546/1354543

我了解别名以及命令本身在做什么,但不是“!”的重点在 git 命令之前。

【问题讨论】:

    标签: terminal git-add git git-alias


    【解决方案1】:

    ! 的意思是“将以下命令作为 shell 的命令运行”,因此在这种情况下,别名 git commitx 扩展为相当于运行 git add . && git commit(这是一个可怕的想法)

    【讨论】:

    • 感谢您快速简洁的回答!也同意这是一个坏主意。再次感谢!
    【解决方案2】:

    ! 的一个重要方面未被接受的答案涵盖,即对于 shell 命令,工作目录设置为工作副本的顶层。因此,git commitx 将暂存并提交工作副本中的所有新文件和更改文件,而手动运行 git add . && git commit 将暂存然后提交当前目录中的所有新文件和更改文件。

    【讨论】:

    • 有没有办法实现相同的 shell 执行,但不将工作目录更改为顶级?
    • @Jarl 我不知道
    猜你喜欢
    • 2020-07-31
    • 1970-01-01
    • 2018-04-25
    • 2011-02-12
    • 2019-03-04
    • 2013-06-02
    • 1970-01-01
    • 2013-08-08
    • 2016-11-02
    相关资源
    最近更新 更多