我不止一次从同行那里听说过“建议”不要在你编写代码的IDE中对代码进行版本控制。我已经看到他们在eclipse,intelliJ等上开发,但是从命令行或独立客户端进行版本控制(在我当前的场景中 - GIT),而不是使用随时可用于IDE的相应插件。
虽然我在Eclipse中使用过版本控制插件但从未发现任何问题,但我想知道一般规范是什么以及为什么?
答案 0 :(得分:4)
我认为没有一般规范。这个问题的答案是非常主观的。
我个人不使用任何IDE集成(除了内置的git gui
和gitk
之外,甚至不使用GUI工具)因为我的经验告诉我这些工具的行为与命令行版本不同/或者不提供命令行上提供的完整功能:
另一件事是您对版本控制工具的了解与您的IDE绑定。也许你想为其他东西设置一些版本管理,而不是你用Eclipse编辑的源代码(例如你的dotfiles)。
或者有一天你切换IDE,删除Eclipse并开始使用Visual Studio。那么你不必只学习Visual Studio,另外你也需要学习VS中的Git集成。
我认为与上面所写的相比,没有任何明显的优势可以合理使用IDE内部的VCS工具。
因此,IMO 从内部 IDE 进行版本控制是一种不好的做法, 总是从外部进行版本控制强>
答案 1 :(得分:2)
你应该总是尝试使用正确的工具来完成工作,这是一个个人问题,所以没有“规范”或“良好实践”。
就我而言,我更喜欢使用......
此外,如果你打算稍微突破一点,那么对git internals了解一点也不会有什么坏处。
答案 2 :(得分:1)
那些插件和add-ones往往会做一些事情,否则如果您使用本机(cli?)客户端则不会这样做。
例如,如果您使用的是eclipse + clear case插件,那么文件中的任何更改(甚至添加新行)都将启动签出操作(取决于配置)。
特别是对于git,您应该了解它的内部结构以正确使用它。使用IDE会隐藏这些内容。在正常的琐碎操作中,它会起作用。但是,当您遇到源代码控制问题(丑陋的合并,挑选樱桃,rebase冲突)时,您将必须转到CLI进行解析,但之后您不知道IDE运行的实际命令是什么首先是这种情况(另外你没有使用CLI的经验)。