该项目正在使用Maven,因此POM文件是项目信息的主要来源.项目文件中有一些有用的设置,这些设置很好.
OTOH IDEA似乎在项目文件结构中创建了太多冗余更改,这些更改会污染SVN历史记录,有时会产生冲突.
我应该将.idea目录和*.iml文件保留在版本控制下吗?在全?在一部分?
更新:所以我发现为我和我的团队工作的最佳实践是:
这样,您可以将.idea目录的内容保留在版本控制中,但不要使其不受常规提交的影响.任何开发人员都可以访问任何其他人的IDEA目录.
更新2:由于这个问题是写的,我已经改变了我的做法,没有将许多IntelliJ文件签入到版本控制中,正如许多响应者所建议的那样.这是我目前对Maven和Gradle的做法.这些工具已发展到可以始终从原始.POM或.gradle文件中重现关键信息.当文件发生更改时,IDE会可靠地跟踪更改,因此您不会丢失通常因此无需检入的IDE文件.
更新3:问这个问题后7年似乎仍然相关.同样的最佳实践也适用于Gradle(也可能是SBT):不要检查IDE文件,根据需要从基本POM,.gradle或SBT文件重新创建它们.
我们是一家软件开发公司,正在将Wordpress用于网站的静态部分.当然,我们所有的工作流程都是围绕版本控制构建的:多个开发人员 - >持续集成 - >分段 - >部署.
将Wordpress集成到我们的工作流程中的挑战在于,它的数据库像喉咙一样陷入困境:你无法将其放入版本控制,轻松回滚,从升级到生产等.
我想知道人们在类似情况下做了什么?我想找到一种方法将WP集成到开发工作流程中,而不是相反:-)
澄清我们希望在登台系统上"开发"并测试页面,并在准备好之后将其作为版本升级过程的一部分移至生产中.我们不希望将登台数据库完全复制到生产中.
这种行为似乎被破坏了(我使用的是Scala 2.9.1)
var b= new StringBuilder
Run Code Online (Sandbox Code Playgroud)
这些都可以:
b+='a'
b.append('b')
b.append("de")
Run Code Online (Sandbox Code Playgroud)
这会产生编译错误:
b+="de"
Run Code Online (Sandbox Code Playgroud)
任何想法为什么只有StringBuilder#+ =(c:Char)存在而StringBuilder#append(c:Char)和StringBuilder#append(s:String)幸福地共存?声明和实现StringBuilder#+ =(s:String)有什么问题?
它是疏忽还是Scala类型系统中的一些更深层次的问题?
该AppAssembler Maven插件确实对我产生分布的非常出色.最后一个问题是生成的Shell脚本没有执行权限,因此我需要手动设置它们.
我在Linux RedHat上
有人知道自动设置它们的干净方法吗?
当我尝试添加/删除共享文件夹到我的VirtualBox时,我收到此错误:
~$ VBoxManage sharedfolder add dev --name srv --hostpath "/my/local/path"
VBoxManage: error: The machine 'dev' is already locked for a session (or being unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee nsISupports
VBoxManage: error: Context: "LockMachine(a->session, LockType_Write)" at line 1012 of file VBoxManageMisc.cpp
Run Code Online (Sandbox Code Playgroud)
它在我停止机器,操作共享然后再次启动机器时起作用.它也适用于VirtualBox UI,但我想编写这些操作的脚本.
在Mac OS Yosemite上运行VirtualBox 5.0.12.盒子配备了docker-machine.