我如何在 git 的其他路径上备份/版本控制我的文件(具有 IDE 设置)?
Posted
技术标签:
【中文标题】我如何在 git 的其他路径上备份/版本控制我的文件(具有 IDE 设置)?【英文标题】:How could I backup/version control my file (having IDE settings) at some other path in git? 【发布时间】:2018-05-23 17:23:33 【问题描述】:我可能没有很好地解释我的问题,所以让我举个例子。
我在windows10
上使用Bitbucket
进行版本控制和备份。
我的 IDE,Intellij
有一个 workspace.xml
文件,其中包含一些运行构建的配置。它的路径是baseDir/something/something/.idea/workspace.xml
。我想支持它/版本控制它,这样当我搬到一个新的工作站时,我可以用这个覆盖默认的workspace.xml
并拥有我的所有配置。
我是否可以将workspace.xml
文件备份到Bitbucket 中baseDir/something/something/.idea/workspace.xml
以外的路径,例如。 baseDir/IDESettings/idea/workspace.xml
?
如果我在本地机器上更改baseDir/something/something/.idea/workspace.xml
(比如添加或更改新的构建配置),应该在baseDir/IDESettings/idea/workspace.xml
中创建一个新版本,然后我移动到一台新机器并安装 IntelliJ IDE,然后是 @987654332应该使用来自baseDir/IDESettings/idea/workspace.xml
的@。
我猜我可能不得不使用符号链接,但如果有人能证实这一点或提出替代方案,我将不胜感激。
【问题讨论】:
为什么必须先备份然后再进行版本控制?你不能直接提交.idea/workspace.xml
吗?
对不起,我的意思是一样的。基本上提交workspace.xml
,但不在.idea/
,而是在其他路径。
嗯,这就是我的问题。为什么不直接在.idea/
下提交呢?
因为我担心在新机器上,当我下载repo时,我也会得到.idea/workspace.xml
。现在,当我将项目导入 IDE(在我的新机器中)时,IDE 可能会覆盖现有的 .idea/workspace.xml
是的,但是在你导入它之后,如果 IDE 改变了它,你总是可以从 repo 中检查出来。我认为 IDE 不会再次覆盖它,直到您真正更改某些内容。
【参考方案1】:
或提出替代方案。
使用内容过滤器驱动程序 (smudge/clean process),如“GameMaker Studio 2 collaboration between windows and osx”中所述
smudge
脚本可以应用于您的存储库中的任何文件,并在 git checkout
上自动生成一个私有(非跟踪文件),如 baseDir/something/something/.idea/workspace.xml
,具体取决于您的机器。
干净的脚本会在 git commit
上将该私有文件保存在您的 Git 存储库文件中。
【讨论】:
以上是关于我如何在 git 的其他路径上备份/版本控制我的文件(具有 IDE 设置)?的主要内容,如果未能解决你的问题,请参考以下文章