从IDE外部进行版本控制是一个好习惯吗?

时间:2013-10-14 10:23:23

标签: eclipse git eclipse-plugin intellij-idea

我不止一次从同行那里听说过“建议”不要在你编写代码的IDE中对代码进行版本控制。我已经看到他们在eclipse,intelliJ等上开发,但是从命令行或独立客户端进行版本控制(在我当前的场景中 - GIT),而不是使用随时可用于IDE的相应插件。

虽然我在Eclipse中使用过版本控制插件但从未发现任何问题,但我想知道一般规范是什么以及为什么?

3 个答案:

答案 0 :(得分:4)

我认为没有一般规范。这个问题的答案是非常主观的。

我个人不使用任何IDE集成(除了内置的git guigitk之外,甚至不使用GUI工具)因为我的经验告诉我这些工具的行为与命令行版本不同/或者不提供命令行上提供的完整功能:

另一件事是您对版本控制工具的了解与您的IDE绑定。也许你想为其他东西设置一些版本管理,而不是你用Eclipse编辑的源代码(例如你的dotfiles)。

或者有一天你切换IDE,删除Eclipse并开始使用Visual Studio。那么你不必只学习Visual Studio,另外你也需要学习VS中的Git集成。

我认为与上面所写的相比,没有任何明显的优势可以合理使用IDE内部的VCS工具。

因此,IMO 内部 IDE 进行版本控制是一种不好的做法, 总是从外部进行版本控制

答案 1 :(得分:2)

你应该总是尝试使用正确的工具来完成工作,这是一个个人问题,所以没有“规范”或“良好实践”。

就我而言,我更喜欢使用......

  • GUI ,如SourceTree,用于查看日志,差异,暂存/丢弃大量文件,暂存/丢弃黑客等等。
  • CLI ,用于修改遥控器,压缩提交,推送,克隆等。

此外,如果你打算稍微突破一点,那么对git internals了解一点也不会有什么坏处。

答案 2 :(得分:1)

那些插件和add-ones往往会做一些事情,否则如果您使用本机(cli?)客户端则不会这样做。

例如,如果您使用的是eclipse + clear case插件,那么文件中的任何更改(甚至添加新行)都将启动签出操作(取决于配置)。

特别是对于git,您应该了解它的内部结构以正确使用它。使用IDE会隐藏这些内容。在正常的琐碎操作中,它会起作用。但是,当您遇到源代码控制问题(丑陋的合并,挑选樱桃,rebase冲突)时,您将必须转到CLI进行解析,但之后您不知道IDE运行的实际命令是什么首先是这种情况(另外你没有使用CLI的经验)。