.git本地存储库是否必须包含在本地工作目录中?

时间:2014-04-25 18:29:31

标签: eclipse git egit

具体来说,我正在使用Eclipse和egit:

  • 使用向导与egit共享项目,它将工作目录移出eclipse工作区,进入我选择持有git存储库的文件夹
  • .git存储区包含在此文件夹

我的问题是:

  • 我读到git存储库不应该在Eclipse工作区中,但为什么工作目录不能在Eclipse工作区中呢?
  • 是因为当地存放处必须包含在git工作目录中吗?

我发现了一些关于移回目录的问题,但是我不想在不知道它为什么被移动的情况下这样做(我不想为以后创建问题)。

1 个答案:

答案 0 :(得分:2)

不,.git目录不必在您的工作目录中。你可以point a Git repository at another directory as its working directory using the --work-tree option

  

- 工作树= LT;路径>

     

设置工作树的路径。它可以是绝对路径或相对于当前工作目录的路径。   这也可以通过设置GIT_WORK_TREE环境来控制   变量和core.worktree配置变量(参见   git-config(1)中的core.worktree用于更详细的讨论。)

考虑以下示例:

$ # Create a Git repository
$ mkdir project
$ cd project
$ git init
Initialized empty Git repository in /path/to/project/.git/
$ ls -a
. .. .git

$ # Now, start working in another directory
$ cd ..
$ mkdir working-directory
$ cd working-directory
$ echo foo > foo.txt

$ # And now, commit to the initially created repository
$ cd ../project
$ git --work-tree=../working-directory status
$ git --work-tree=../working-directory add foo.txt
$ git --work-tree=../working-directory commi

Eclipse很可能在内部使用此选项。