我一直在徘徊为什么在IDE中有版本控制支持这是一个大问题。
我总是首选使用命令行/独立版本的版本控制选项,并且从未发现IDE集成有用。
我知道它有时会有所帮助,例如自动跟踪重命名,但我被版本控制插件咬了几次(特别是Clear Case Eclipse插件),我现在发现它与commanline相比具有效率版本,我可以更好地控制。
您有什么看法?
答案 0 :(得分:5)
集成源代码控制还有助于仅将重要文件保留在源代码管理下。例如,当我在Visual Studio中添加一个新文件时,插件(visualSVN)将允许我轻松添加它,而不必记得离开我的IDE并运行命令将其添加到存储库。另一方面,它会自动忽略临时文件,如obj /和bin / Folders。
基本上:实际工作的集成版本控制是保持存储库清洁和完整的好方法。
答案 1 :(得分:4)
我喜欢某些 IDE实现此功能的方式。 Visual Studio的Ankh-SVN并不是那么好而且有点儿错误,但Subeclipse当我使用Eclipse时,我发现它工作得非常好。
我认为这实际上取决于您使用的IDE以及该插件的质量。它适用于某些设置,对其他设备也很糟糕。
这就是我喜欢Subversion with Tortoise SVN的原因。我可以选择在有意义的时间和地点使用IDE集成,否则,就像你说的那样,我可以简单地使用命令行,或者在我的情况下,基于Windows资源管理器的客户端!
答案 2 :(得分:2)
很多只是用户的偏好和舒适度。有些人对命令行感到满意。有些人更喜欢GUI。
我不会做出一般性假设,认为IDE中的所有版本控制都是错误的或基于具有问题的特定插件的经验而错误。
答案 3 :(得分:2)
IDE与版本控制的集成,特别是软件变更管理,有助于汇集IDE和源代码管理系统的理念。
一个例子是临时文件和二进制文件,不应该签入,例如在Visual Studio中,如果您没有使用非默认目录配置小心创建新项目和解决方案模板,则最终在源目录中。
另一个可能是跟踪工作项和复杂的错误修复。
此外,它还可以在编辑文件时保存一些仪式和上下文切换。
高级集成还可以允许将变更管理系统的“配置”(“分支”,“标记”,“视图”)概念推送到IDE中。
然而,ClearCase集成显然不是“高级”。
答案 4 :(得分:2)
为什么甚至有IDE?为什么不用命令行做所有事情? ;)
答案是将它与IDE集成是“更好”。
我的第一个原因: 您可以直观地查看文件是否已签出,如果您需要编辑文件,则可以在此处执行操作。
还有更多,但那是最重要的。
答案 5 :(得分:1)
这取决于您的IDE以及使用VCS的方式。
我和我的团队在Delphi IDE中使用VSS插件,它在一起工作时提供了很多灵活的功能,例如,当你开始写一封信或移动它所询问的组件时,我们所有的表格都是办理登机手续的想要签出代码文件或表格。
当某人更改其他表格中的任何代码时,它会弹出并告诉您已由其他人更新并要求您更新H.D中的当前文件。
当你在IDE中时,你只需要获取所有内容,你不需要移动到其他外部文件,或者命令提示符来完成一项简单的任务。
我发现大多数喜欢处理命令提示符的人主要是在没有GUI IDE的代码中工作,或者我可能是错的。
答案 6 :(得分:1)
几乎所有的subversion需求都可以通过IDE接口来处理。快速点击2次比弹出命令行,cd到正确的位置,发出命令等要快得多。
命令行有它的位置,但是对于当前的IDE,这个地方继续缩小。
答案 7 :(得分:1)
我使用IDE / VCS集成的错误实现来获得战斗伤痕。老实说,如果它不是马车,那就太好了。只要有像TortoiseSVN这样的优秀工具,我就不需要IDE / VCS集成。我宁愿拥有比一些有缺陷的工具更好的工具。
答案 8 :(得分:0)
IDE中的版本控制支持通常可以为您提供更好的视图。 IDE实际上知道在执行diff时您正在查看的文件类型,这意味着它可以执行上下文突出显示并帮助您更有效地进行合并。
我也认为它可以节省设置时间。除了安装各种工具,开发人员可以下载IDE,在其上进行结账。如果项目中的每个开发人员使用相同的IDE,他们可以互相帮助。
“适得其反”是一个大字。如果您每月有一次严重的CVS / SVN问题,那么在所有开发机器上安装复杂的客户端仍然很少。
答案 9 :(得分:0)
我有两个系统,其中有一个集成的IDE(针对IIS开发网站的Microsoft FrontPage,在所有Web内容上都有Visual Source Safe)和没有(java命令行开发,Visual Studio Express Editions) 。我使用的中间案例是jEdit 4.x,通过插件集成了VSS。
我认为集成的案例是有价值的,因为它始终是 - 你不必让你的应用程序与源代码控制功能交互,你不必担心记住添加新文件和在编辑之前检出文件。就我而言,能够顺利完成工作流程并将疏忽风险降至最低。即使IDE插件集成不够完美(jEdit 4.x案例),我仍然更喜欢它而不是没有它。
我也同意在Windows上进行资源管理器集成(Tortoise SVN的情况)也是一项很好的功能,即使可以使用IDE集成。这样可以方便地操作,无需启动IDE,同时还能够在Windows资源管理器中运行时从资源管理器窗口启动到IDE(取决于文件类型)或编辑器或制作或其他任何内容。
是的,命令行界面仍然很有价值,特别是对于recuring-operation模式的脚本。
我在许多情况下经营。所有这些都具有较低的障碍和操作流动性是值得珍惜的。
答案 10 :(得分:0)
我不确定我理解这个问题。根据定义,IDE是集成的,这意味着它们可以帮助您避免出于与项目相关的任何事情而离开环境的需要。版本控制显然符合要求。
如果您正在寻找更实际的原因,那就是IDE可以通过其图形表示的性质为您提供意识。例如,Eclipse将呈现已更改的文件和目录。使用其他插件或套件,您可以在其他用户编辑同一文件时立即获得实时感知,帮助您在合并冲突发生之前预测它。我不熟悉基于命令行的机制。
答案 11 :(得分:0)
我定期使用intellij与cvs集成,到目前为止,IDE内部版本控制集成的最佳功能是逐行显示添加,编辑或删除的内容以及轻松访问(鼠标)悬停/工具提示)到预编辑更改。
这一切都在源代码中以非突兀的方式。
对于版本控制的细节(checkin / checkout / update / etc),我有时会使用IDE,有时会使用命令行。
答案 12 :(得分:0)
SCM与IDE集成的第一个原因是它使得它更容易使用它,并且无需记住检查。通过经验,我已经看到开发人员将其描述为无关的步骤,这些步骤通常包含除编写代码之外的任何内容,但是没有完成。让他们做额外的步骤增加了开发人员不会打扰它的可能性,并将围绕源控制系统进行工作