我目前正在使用Subversion作为我的源代码控制系统,主要是因为我发现ANkhSVN非常好地集成到Visual Studio中。
但是很多人似乎正在使用Git或Mercurial以及其他人取得巨大成功。
现在,我想知道如何在没有某种IDE集成的情况下使用像Git这样的系统。
进入命令行进行源代码控制对我来说非常尴尬,太麻烦了。
更新:这引起了一些讨论。
我只想知道您的工作流程是什么样的,我知道如何学习和使用命令行工具。由于重命名/添加文件等问题,他们感觉不舒服。我将坚持使用AnkhSVN作为我在Visual Studio中选择的svn客户端,并使用TortoiseSVN作为VS之外的文件。无论如何,谢谢你的回答!
答案 0 :(得分:8)
我只是在相关目录中打开一个命令行窗口。在它们之间切换以执行git命令并不难。老实说,因为我对git很陌生,所以在检查我正在使用git时所涉及的心理努力比切换窗口要多得多:)
虽然这里有一个困难(至少对我来说,使用Visual Studio):git和Visual Studio都希望成为重命名的人。我更喜欢让git这样做,然后再将该文件作为Visual Studio中的现有项添加,但 令人讨厌。
答案 1 :(得分:7)
我将Tortoise SVN与Windows资源管理器集成,因此任何不在IDE中的文件都可以轻松操作。
答案 2 :(得分:4)
我使用版本控制系统而没有任何ide集成。 是的,如果你习惯像乌龟这样出色的工具,那就有点尴尬了。但最终仍有可能完成你的工作。
[老怪胎模式] 在早期,我们没有IDE,只有编辑器和命令行编译器。并且coures make ;-)。 [/旧怪胎模式]
答案 3 :(得分:2)
我的大多数项目都是嵌入式设备或开发工具。我整天都在命令行,所以对我来说,实现源代码控制GUI实际上是一件麻烦事。任何繁琐或常用的命令都是别名或用简单的脚本替换。
另一个优点是该过程可以在很大程度上自动化。
答案 4 :(得分:1)
大多数IDE都可以选择调用外部应用程序,以便您可以在IDE中继续使用源代码管理系统。
此外,大多数版本控制系统都有一些你可以保持打开的GUI系统,这也是我一般所做的(我大部分时间都使用TortoiseSVN)。
然而,当以上所有方法都失败时,输入svn add <filename>
和svn commit --message <foo>
并不是那么难; - )
答案 5 :(得分:0)
首先,如果您对svn感到满意并且喜欢您正在使用的客户端,为什么要更改?第二,学习/使用命令行有什么问题?你想使用git的原因是什么? Git实际上可以很好地与其他源代码控制系统一起使用,你可以同时将内容存储在git和svn中而不会产生任何冲突。但Git非常以unix / linux为中心。 非常很容易让git运行(git init,git add,git commit,...)。
答案 6 :(得分:0)
您可以将TortoiseHg与Mercurial一起使用。
它与Windows集成中的TortoiseSVN非常相似,因此您需要更少地使用命令行。
答案 7 :(得分:0)
在OS X / linux上主要进行Rails开发我最终花费了一半的时间在命令行,因为这是运行大多数支持工具的最简单方法,并且它在一段时间后变成了第二天性。我保持IDE或文本编辑器打开(取决于项目的复杂性),并在该命令行和命令行之间花费50/50的时间。
如果你正在使用Visual Studio,我猜你正在开发Windows。毫无疑问,使用命令行并不是一件很自然的事情 - 没有冒犯,只是Windows控制台糟透了,使用起来并不令人鼓舞或愉快。
为使您的生活更轻松,您可以采取一些措施:
安装cygwin或类似作为CMD.exe的替换shell并开始使用* nix样式命令行工具。它们会给你比Windows更多的功能,你会发现它开始变得更容易使用命令行来处理你曾经使用过的GUI(文件复制/移动操作等,检查日志文件。)
然后安装Console作为标准Windows命令行终端的替代品。它更具可定制性,支持标签,颜色突出显示等。
当我进入一个新的基于客户端站点的项目时,我做了这两件事,我们被迫使用Windows PC。帮助极大!从命令行使用SVN / GIT通常更容易。特别是对于像这样的批量操作而不是通过IDE对话框进行挖掘。
答案 8 :(得分:0)
我以前只使用命令行中的perforce - 当时它是命令行或他们自己的p4win控制台。坦率地说,命令行更容易。
但那是在做linux开发,ide是vi。用IntelliJ和SVN做java我喜欢ide集成...新类,自动添加。可以管理ide,diff,blame里面的变更列表,看看历史...我认为非集成源控制系统的优势对我来说非常有吸引力,我可以通过集成的选择它。
答案 9 :(得分:0)
我个人最近在命令行上使用Tortoise SVN,WinCVS和BZR后,最近不得不在Eclipse和Visual Studio以及Eclipse中使用IDE集成源代码控制。
我认为IDE集成方法是最烦人的,我不想在IDE中使用,我想使用正确的Diff工具等。它似乎不太直观。
我最喜欢的方法是使用文件管理器集成组件,因为它很好地模拟了我希望文件系统在源代码控制服务器上的外观。
此外,我可以在同一个存储库下拥有多种不同语言的文件,因为它不仅限于源控件对文件的理解。
或者使用命令行,对你来说似乎不自然,因为你只使用过IDE集成,它是由生活和呼吸命令行的人构建的,但它通常是有意义的。
答案 10 :(得分:0)
我已经使用git和.NET C#项目超过六个月了,我很高兴。
答案 11 :(得分:0)
我使用没有插件的eclipse用于mercurial。 但我配置它使用。它看起来像一个插件。 我不知道git,但在mercurial你有tortoiseHG(像tortoiseSVN)。在visual studio中你可以添加外部工具吗?
如果可以,可以使用tortoisehg为mercurial添加此内容:
hgtk log&lt; - 使用此功能,您可以添加/删除标签,更新(结帐),修订之间的差异...
hgtk commit&lt; - 用这个你可以看到变化是什么
hgtk synch
hgtk状态
hgtk更新
答案 12 :(得分:0)
TortoiseSVN的另一个插件,它非常出色但未集成到IDE中。
但是在添加/删除必须在IDE和Subversion中完成的文件时,您必须要小心。不幸的是,在VS中添加文件并忘记使用Tortoise添加文件有点容易。