假设我有一个 git 工作目录,即该目录有一个名为 .git
的子目录。
我想知道当我运行 git 命令时当前目录是否重要。 运行一个git命令可以吗
直接在工作目录下
直接在工作目录的某个子目录下
直接在工作目录的父目录下?
考虑
- git 命令可以带一个指定一些文件的参数,例如
git add
和 - 不带指定某些文件的参数的 git 命令,例如
git pull
,git push
.
最佳答案
directly under the parent directory of the working directory?
实际上,只要您引用 git 存储库,您就可以在任何地方运行它:
git --git-dir=/path/to/my/repo/.git add .
这意味着无论您身在何处(.:当前文件夹)都将被视为您的工作树。一个
您甚至可以指定您的工作树:
git --work-tree=/a/path --git-dir=/path/to/my/repo/.git add .
在后一种情况下,您甚至可以在任何您想要的地方执行最后一条命令。 '.
' 将是工作树 /a/path
。
Since git 1.8.5, you also have the -C
option :
git -C /path/to/my/repo add .
同样,您可以在任何您想要的地方执行它,但该命令将在内部先执行 cd/path/to/my/repo
,然后执行 add 。
。这意味着“.
”实际上是/path/to/my/repo
。
Finally, since git 2.5 , 一个 git repo 支持多个工作树,所以你可以在一个不包含子文件夹 .git
的文件夹中执行你的命令(但实际上是一种指向 /path/to/的符号链接(symbolic link)我的/repo/git
)
关于linux - git命令应该直接在工作目录下运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34476787/