我们使用的Git,的IntelliJ和Maven文件更新的问题。我们遇到了有关IntelliJ配置文件的一些问题。例如。 * .iml文件会根据项目是建立还是重新编译还是执行“mvn clean
”而不断变化。我们知道IntelliJ中有一些错误会导致这些文件发生变化。使用Git跳worktree禁用与合并
的计划是用“git update-index --skip-worktree
”的所有* .iml文件(和其他一些)。这样,一个开发人员可以维护这些文件的适当状态,并且如果他们必须更改(新的依赖关系或模块)以重新启用跟踪,更改文件,然后切换回跳过的更改。所以其他开发人员获得更新的文件,但他们的更改不会推回到git存储库。
根据http://fallengamer.livejournal.com/93321.html这有工作的机会。
这确实适用于本地测试存储库。但是一旦搬到遥控器,它开始表现出不同的表现。 “git status
”显示什么必须做,但切换分支带来了当地的变化将被覆盖的消息(主要是*,这是“忽略” IML文件)虽然“git ls-files -v
”显示了文件的右旗。 在IntelliJ中有一个空的窗口,它具有相同的警告,所以这相当混乱。
我是怎么得到错误的“跳过worktree”选项?它不应该在合并中生存吗?或者它的行为意味着不同的目的?
谢谢!
Hallo 但覆盖本地更改是预期的行为。由于IntelliJ一直修改文件,我们不想将它们推回去。只有来自某个开发人员(有意更改标志)的更新才会进入。 但是,这个解决方案有点可疑,因为这些标志也不共享。 感谢您的回复! – wemu 2012-07-27 08:37:20