正如你从这段摘录中看到的,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
将暂存然后提交当前目录中的所有新文件和更改的文件。