“爆炸”或“!”是什么意思?在git命令之前?

时间:2012-05-17 18:30:30

标签: git terminal git-add git-commands git-alias

从这段摘录中可以看出,有一个“!”在git命令之前。有什么意义?

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

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

我理解别名和命令本身正在做什么,但不是“!”的意思。在git命令之前。

2 个答案:

答案 0 :(得分:22)

!表示“将以下命令作为命令发送到shell”,因此在这种情况下,别名git commitx会扩展为等同于运行git add . && git commit(这是一个可怕的糟糕主意)

答案 1 :(得分:15)

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