0

我刚刚发现我.idea/myproject.iml签入的文件包含一个本地路径。因此,我需要将它添加到.gitignore并让 git 不再跟踪它。

我(和其他所有人)想保留我们的本地版本,.idea/myproject.iml因为它在本地是正确的。

我最初正在考虑 git rm --cached .idea/myproject.iml,但这不是一个解决方案,因为它会从所有其他开发人员那里删除该文件。这在git中可能吗?

我注意到 tortoise-svn 有一个“取消版本并添加到忽略列表”命令,而 tortoise-git 有一个“删除并添加到忽略列表”,这让我觉得这是不可能的......

4

1 回答 1

2

由于评论很难格式化,让我们切换到答案模式,虽然它不是真正的答案,只是一个扩展的建议。

因为 PyCharm 要求文件位于项目根目录中名为 .idea 的文件夹中。

的确。整个想法是通过与常规位置不同的位置共享与 IDE 相关的文件(模板),忽略实际 IDE 设置中的任何意外更改。

那就是整个工作流程应该是这样的:

  1. 创建实际 IDE 设置的备份副本
  2. 将清除版本的 IDE 设置放入源树中的专用子文件夹中
  3. 将它们从常规位置移除
  4. 添加适当.gitignore的条目
  5. 使用设置模板进行提交,添加到子文件夹,从源树中删除设置并更新.gitignore
  6. 从备份中恢复设置。现在 git 将忽略文件中的所有进一步更改。
  7. 通知所有团队成员有关提交 IDE 设置的策略的更改以及在更新之前备份其本地设置的需要。
  8. 将来,当需要与同事共享新的 IDE 内容时,她必须将常规 IDE 设置中的块复制到适当的设置模板中。

工作流程可能看起来很麻烦,但看起来您没有其他选择来完成任务。一方面,您无法完全控制 IDE 管理的文件的内容,并且不能简单地委派对 IDE 进行可共享更改的权利(某些本地内容可能会意外泄漏,因为它已经发生了)。另一方面,强制团队成员在每次提交时手动控制它确实很无聊且容易出错。

也许您可以创建一些支持脚本来合并从设置模板到常规设置的更改。IDEA 使用 XML 文件进行设置,因此将更改从模板合并到文件的任务看起来非常可行。

于 2019-07-25T22:28:00.333 回答