7

我正在建立一个项目,该项目将在我的组织中的几个程序员之间共享。我们正在使用 git——我是新手。项目目录包含指向不应受版本控制的文档目录的符号链接。我想将版本控制下的符号链接维护为符号链接,而不是将它们取消引用并将符号链接目录的所有内容置于版本控制之下。

我发现 git 命令行工具的行为方式符合我的要求:git add -A. 但是,如果我尝试使用 Eclipse 版本的 git eGit 添加所有当前未版本化的文件,使用Team->Track项目上下文菜单,eGit 想要添加符号链接目录中的每个文件。有没有办法告诉 eGit,不,这些真的是符号链接,不应该被取消引用?

4

2 回答 2

4

我们的问题在此讨论过:Eclipse Community Forums Thread

看起来目前 Linux 原生lstat支持不太容易移植。他们用 Java 编写 Eclipse的最小公分母范式使得在 Linux 或 Mac 上做原生的东西变得更加困难。(阅读:*cough* Windows 不支持符号链接*cough*)。

好消息是:

这似乎是可能的,但他们需要以符合他们的“ Write Once Test Everywhere ”编程标准的方式对其进行编码。由于这个问题以及Eclipse 错误 #346079 ,我觉得在使用 EGit 时在 Linux 上拥有一些原生stat和支持很重要。 lstat

在执行 Git Refresh 时,只需安装 EGit 就会导致速度变慢和 IDE 冻结 :-(

坏消息是:

这两个错误阻止了我在大多数 git 命令中使用 EGit。用户体验使 EGit对我来说无法使用。能够在 Eclipse 中使用 EGit真是太好了,这样 Mylyn 用户故事和任务可以自动绑定到功能分支。拥有自动提交消息模板功能也很棒。这将使提交消息中的当前任务和状态变得轻而易举。

这让我非常烦恼,我已经准备好看看是否可以制作一些脚本来查询 Eclipse / Mylyn 以获取当前的提交消息模板输出,并使用它从命令行执行 git commit。我不确定如何自动创建每个用户故事的功能分支。

在这些问题得到解决之前,我敢肯定很多 EGit 用户会不高兴:-(

于 2011-09-23T02:12:11.447 回答
4

我们遇到了这个问题,使提交屏幕无休止,并且偶尔会导致有人忘记包含他们创建的文件。

我们提出的解决方案是手动编辑 .gitignore 文件,以包含在取消引用符号链接时链接文件将出现的路径:

/ProjectHomeFolder/.gitignore

由于我们在 Play Framework 中工作,我们还编辑了以下忽略:/ProjectHomeFolder/conf/.gitignore
/ProjectHomeFolder/public/.gitignore

我们只是为每个符号链接的模块添加了 /ModuleName,现在 egit 会正确地忽略它们,为了完整起见,这里是我的根 .gitignore 文件的全部内容,该文件位于项目的根目录中:

/.project
/.classpath
/.gitignore
/eclipse
/tmp
/crud
/.git
/.settings
/modules
/conf
/betterlogs-1.0
/chronostamp-0.1
/logisimayml-1.5
/betterlogs-1.0
/sass-1.1
/deadbolt-1.4。 2
/jquery-1.0
/log4play-0.5
/messages-1.1.1
/navigation-0.1
/jqueryui-1.0
/scaffold-0.1
/table-1.2
/tabularasa-0.2

于 2011-10-19T10:31:20.157 回答