【发布时间】: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
正如您从这段摘录中看到的那样,有一个“!”在 git 命令之前。有什么意义?
[alias]
commitx = !git add . && git commit
-https://stackoverflow.com/a/8956546/1354543
我了解别名以及命令本身在做什么,但不是“!”的重点在 git 命令之前。
【问题讨论】:
标签: terminal git-add git git-alias
! 的意思是“将以下命令作为 shell 的命令运行”,因此在这种情况下,别名 git commitx 扩展为相当于运行 git add . && git commit(这是一个可怕的想法)
【讨论】:
! 的一个重要方面未被接受的答案涵盖,即对于 shell 命令,工作目录设置为工作副本的顶层。因此,git commitx 将暂存并提交工作副本中的所有新文件和更改文件,而手动运行 git add . && git commit 将暂存然后提交当前目录中的所有新文件和更改文件。
【讨论】: