git 命令之前的"bang"或"!"是什么意思?



正如你从这段摘录中看到的,git 命令之前有一个"!"。有什么意义?

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

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

我了解别名和命令本身在做什么,但不是 git 命令之前的"!"的要点。

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

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

最新更新