从另一个目录运行`git commit`

Ion*_*zău 8 git

如何git commit -m '...'从另一个目录运行命令?

我编辑我的文件:

vim /home/.../myFile
Run Code Online (Sandbox Code Playgroud)

我使用以下方法添加:

git add /home/.../myFile
Run Code Online (Sandbox Code Playgroud)

但是现在,我该怎样才能提交修改?

git commit -m '...' ???
Run Code Online (Sandbox Code Playgroud)

l4r*_*4rd 16

您还可以使用环境变量$GIT_DIR,并$GIT_WORK_TREE以相同的效果--git-dir--work-tree

当您在另一个目录中时,这些是提交文件的步骤:

git --git-dir=/path/to/my/directory/.git/ --work-tree=/path/to/my/directory/ add myFile
git --git-dir=/path/to/my/directory/.git/ --work-tree=/path/to/my/directory/ commit -m 'something'
Run Code Online (Sandbox Code Playgroud)

  • 在我从`--git-dir`中删除'='之前,这对我不起作用.它也可能需要从`--work-tree`中删除它.也许git版本有所不同? (2认同)

Ode*_*eer 11

你可以用git -C <path>.来自https://git-scm.com/docs/git/2.4.4

git -C <path>:运行就好像git是在<path>而不是当前工作目录中启动的.

  • 是真的 !实际上,“-C, --reuse-message &lt;commit&gt;”是“git commit”的“-C”选项。但在那里,我们使用 `git` 的 `-C` 选项。换句话说: `git -C &lt;path&gt; commit ...` 与 `git commit -C &lt;commit&gt; ...` 不同。 (3认同)