5

我目前使用 Subversion 作为我的源代码控制系统,主要是因为我发现 ANkhSVN 可以很好地集成到 Visual Studio 中。

但许多人似乎在使用 Git 或 Mercurial 等方面取得了巨大成功。

现在,我想知道如何在没有某种 IDE 集成的情况下使用像 Git 这样的系统。

去命令行做源代码控制对我来说似乎很尴尬,太麻烦了。

更新:这引起了相当多的讨论。

我只是想知道你的工作流程是什么样的,我知道如何学习和使用命令行工具。由于重命名/添加文件之类的事情,他们只是感觉不太舒服。我将坚持 AnkhSVN 作为我在 Visual Studio 中选择的 svn 客户端,并将 TortoiseSVN 用于 VS 之外的文件。无论如何,谢谢你的回答!

4

13 回答 13

8

我只是在相关目录中打开一个命令行窗口。在它们之间切换以执行 git 命令并不难。老实说,由于我对 git 还很陌生,因此检查我是否正确使用 git 比切换窗口要花更多的精力:)

不过这里有一个困难(至少对我来说,使用 Visual Studio):git 和 Visual Studio 都想成为重命名的人。我更喜欢让 git 执行此操作,然后将文件再次添加为 Visual Studio 中的现有项目,但这很烦人

于 2008-10-30T22:19:51.460 回答
7

我将 Tortoise SVN 与 Windows 资源管理器集成,因此任何不在 IDE 中的文件都可以轻松操作。

于 2008-10-30T22:46:33.077 回答
4

我曾在没有任何 ide 集成的情况下使用版本控制系统。是的,这有点尴尬,特别是如果你习惯了像乌龟这样的出色工具。但最终仍然可以完成您的工作。

[old-geek-mode] 在早期,我们没有 IDE,只有一个编辑器和一个命令行编译器。当然是;-)。[/老极客模式]

于 2008-10-30T22:14:21.533 回答
2

我的大部分项目要么是嵌入式设备,要么是开发工具。我整天都在命令行下,所以对我来说,调出我的源代码控制 GUI 实际上很麻烦。任何乏味或常用的命令都被别名或替换为简单的脚本。

这样做的另一个优点是该过程可以在很大程度上自动化。

于 2008-10-30T22:26:20.870 回答
1

大多数 IDE 都可以选择调用外部应用程序,这样您就可以在 IDE 中继续使用源代码控制系统。

此外,大多数版本控制系统都有某种类型的 GUI 系统,您可以保持打开状态,这也是我通常所做的(我大部分时间使用 TortoiseSVN)。

但是,当上述所有方法都失败时,打字svn add <filename>并不svn commit --message <foo>那么难;-)

于 2008-10-30T22:16:18.940 回答
0

首先,如果您对 svn 感到满意并且喜欢您正在使用的客户端,为什么要更改?其次,学习/使用命令行有什么问题?你想使用 git 的原因是什么?Git 实际上与其他源代码控制系统配合得很好,您可以同时将内容存储在 git 和 svn 中而不会发生任何冲突。然而,Git 非常以 unix/linux 为中心。让 git 运行非常容易(git init、git add、git commit,...)。

于 2008-10-30T22:17:16.443 回答
0

您可以将 TortoiseHg 与 Mercurial 一起使用。

它与 Windows 集成中的 TortoiseSVN 非常相似,因此您需要更少地进入命令行。

于 2008-10-30T22:40:35.147 回答
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 对话框进行挖掘。

于 2008-10-30T22:44:13.267 回答
0

我曾经专门从命令行使用 perforce——当时它是命令行或他们自己的 p4win 控制台。坦率地说,命令行更容易。

但那是在做linux开发,ide是vi。用 IntelliJ 和 SVN 做 java 我喜欢 ide 集成......新类,自动添加。可以管理 ide 中的变更列表、差异、责备、查看历史......我认为非集成源代码控制系统的优势必须非常引人注目,我才能选择它而不是集成系统。

于 2008-10-30T23:01:48.490 回答
0

就个人而言,在命令行上使用 Tortoise SVN、WinCVS 和 BZR 之后,我最近被迫在 Eclipse 和 Visual Studio 和 Eclipse 中使用 IDE 集成源代码控制。

我认为IDE集成方法是最烦人的,我不希望IDE中的任何东西,我想使用适当的Diff工具等。它看起来不是很直观。

我最喜欢的方法必须是使用文件管理器集成组件,因为它可以很好地模拟我希望文件系统在源代码控制服务器上的外观。

此外,我可以在同一个存储库下拥有多种不同语言的文件,因为它不限于对文件的源代码控制理解。

或者使用命令行,这对您来说似乎不自然,因为您只使用过 IDE 集成,它是由生活和呼吸命令行的人构建的,但它通常是有意义的。

于 2008-10-30T23:02:41.063 回答
0

你试过 git gui 吗?我也很难学习命令,但对 git gui 感觉更舒服。

我已经在 .NET C# 项目中使用 git 超过六个月了,我很高兴。

于 2008-10-30T23:11:51.340 回答
0

我使用没有插件的eclipse for mercurial。但我配置它以供使用。它看起来像一个插件。我不了解 git,但在 mercurial 中你有 tortoiseHG(如 tortoiseSVN)。在 Visual Studio 中,您可以添加外部工具吗?

如果可以的话,你可以用 tortoisehg 为 mercurial 添加这个:

hgtk log <- 你可以添加/删除标签,更新(签出),版本之间的差异......
hgtk commit <- 你可以看到变化是什么
hgtk synch
hgtk status
hgtk update

于 2008-11-19T01:16:58.263 回答
0

TortoiseSVN 的另一个插件,非常好,但没有集成到 IDE 中。

但是在添加/删除必须在 IDE 和 Subversion 中完成的文件时,您必须小心。不幸的是,在 VS 中添加文件并忘记使用 Tortoise 添加它有点容易。

于 2008-11-19T01:25:36.683 回答