2

问题
从克隆的 git 存储库导入 Eclipse 项目后,我进行了一些更改并提交 - 和 wtf? 我在项目中添加了一个“.git”文件夹,带有头部和参考的整个 shebang,最糟糕的是整个对象数据库被添加到项目中,所有文件/文件夹都有那个小问号图标,表明文件尚未添加/尚未被 git 跟踪。这个 .git 文件夹存在于实际的工作目录中(这有什么意义?)。您可以想象在尝试使用“同步”工具/视图时这会导致多么烦人(这应该使提交工作更轻松,您可以看到所有更改以及更改的文件和差异)。

问题(tl;dr)
如何从克隆的 git 存储库中正确导入 Eclipse 项目?我不希望 .git 文件夹在我提交时出现在“团队 > 同步”中,让 .git 文件夹驻留在我的项目之外的其他地方。

附加信息
我在使用 Eclipse Indigo 和 Egit 的 Windows 7 上。我正在使用 Egit 从http://git.apache.org/(确切地说是 ofbiz 项目)克隆一个 git 存储库,并在向导中选择从这个新克隆的存储库导入现有项目的选项。
是的,我知道我对 Egit 的期望是多么低。事实上,如果有任何替代方法(外部 git 工具?Windows 的命令行 git?其他?)在 Eclipse 中使用 git-tracked 项目,将实际的 .git 内容排除在项目之外,我很乐意放弃 Egit .

4

2 回答 2

0

克隆 git 存储库时,默认行为是在本地克隆的根目录中创建一个 .git 文件夹。您可以通过设置 GIT_DIR 变量来更改默认行为:

Git 文档说:

“GIT_DIR 如果设置了 GIT_DIR 环境变量,则它指定要使用的路径,而不是存储库基础的默认 .git。”

根据您使用的终端,您可以使用 setenv 或 export 进行设置。例如在 bash 终端中:

export GIT_DIR='[path_to_git_directory]'

设置变量后,您应该能够克隆并且 .git 目录应该显示在指定目录中。

于 2011-09-03T03:00:51.497 回答
0

我完全同意 - 我无法想象任何人都打算提交 .git 文件夹!

而且git/EGit知道这是项目的repository文件夹,所以应该很容易实现相应的异常——这样这个文件夹就不会成为同步的一部分。

我知道以下内容不能解决您的问题,但是如果您控制文件在存储库中的布局方式,您可以选择让 Eclipse 项目文件夹不是存储库的根文件夹,而是一个子文件夹.

这还允许您在存储库中拥有不应出现在 Eclipse 中的东西,甚至可以将多个 Eclipse 项目分组在一个存储库中(如果您希望这样做)。

于 2011-11-17T20:40:50.283 回答