从这段摘录中可以看出,在git命令之前有一个“!”。这是什么意思呢?
[alias]
commitx = !git add . && git commit
- https://dev59.com/r2ox5IYBdhLWcg3wzXel#8956546}
我理解别名以及这个命令本身的作用,但是不明白在git命令前面为什么要加上"!"。
从这段摘录中可以看出,在git命令之前有一个“!”。这是什么意思呢?
[alias]
commitx = !git add . && git commit
我理解别名以及这个命令本身的作用,但是不明白在git命令前面为什么要加上"!"。
!
表示将以下内容作为命令运行到shell中,所以在这种情况下,别名git commitx
扩展为相当于运行git add . && git commit
(这是一个非常糟糕的想法)。
!
的一个重要方面未被接受答案涵盖的是,对于 shell 命令来说,工作目录被设置为工作副本的顶层。因此,git commitx
将暂存并提交工作副本中所有新文件和更改文件,而手动运行 git add . && git commit
则将暂存并提交当前目录中的所有新文件和更改文件。