git --git-dir checkout和git checkout之间的区别

时间:2018-07-11 07:12:44

标签: git-checkout

git checkout对于使用选项--git-dir的行为有所不同。

命令:

  1. inside_gitdir$ git checkout remote/branch
  2. outside_gitdir$ git --git-dir=/path/.git checkout remote/branch

在这里命令1 可以很好地运行并签出。但是命令2 显示可移动文件:

error: The following untracked working tree files would be overwritten by checkout:
someFiles

Please move or remove them before you can switch branches.
Aborting

我认为这两个命令都以相同的方式运行。但是,

  • 为什么我在第二条命令而不是第一条命令中得到此错误?
  • 使用--git-dir选项有什么区别?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

如果您这样做,似乎很可行:git --git-dir=/path/.git --work-tree=/path/ checkout remote/branch