是否存在与大多数版本控制系统(git、svn、hg、cvs、或许bzr)兼容的版本控制gui

是否存在与大多数版本控制系统(git、svn、hg、cvs、或许bzr)兼容的版本控制gui,svn,git,user-interface,version-control,Svn,Git,User Interface,Version Control,我只是认为,如果我不必学习几乎完全不同的主题,我实际上可以更快地编写代码。您提到的系统有不同的功能,因此如果gui必须支持每一个功能,它将变得非常混乱 例如,git和hg没有这个概念 指退房(如准备好) 在编辑之前修改)文件- 这是一件好事,但svn和 cvs希望您签出文件 在修改它们之前 底层实现也是不同的,因此该工具必须为每个系统提供完全不同的模块——我希望为每个系统提供单独的工具更容易 也就是说,有些工具支持多个系统,比如cvs和svn,因为它们都有相似的工作流程。我还没有看到能在cvs上

我只是认为,如果我不必学习几乎完全不同的主题,我实际上可以更快地编写代码。

您提到的系统有不同的功能,因此如果gui必须支持每一个功能,它将变得非常混乱

例如,git和hg没有这个概念 指退房(如准备好) 在编辑之前修改)文件- 这是一件好事,但svn和 cvs希望您签出文件 在修改它们之前

底层实现也是不同的,因此该工具必须为每个系统提供完全不同的模块——我希望为每个系统提供单独的工具更容易

也就是说,有些工具支持多个系统,比如cvs和svn,因为它们都有相似的工作流程。我还没有看到能在cvs上工作的工具,比如mercurial或svn和git


我个人喜欢为特定的系统使用特定的gui,因为抽象通常隐藏一些功能,我更喜欢使用的最常见的用户界面是命令行…

第一次学习版本控制系统(例如git)大约需要一到两周的时间。之后,每个系统只需几天时间

不是真的浪费时间,恰恰相反,这是一项非常有价值的投资。 它实际上将帮助您改进管理项目的方式

我从很多人那里听说,一旦他们学习了git,他们就无法再管理没有它的任何项目(我就是其中之一)

所以,帮你自己一个忙,学习你想参与的项目的版本控制系统。

Emacs 我不知道您是否感兴趣,但Emacs提供了一个统一但有限的通用版本控制接口,名为。它适用于各种版本控制系统:CVS、RCS、Subversion、Git、Bazaar、Mercurial和其他

还有第三方软件包,它为版本控制系统提供了通用的Emacs接口。目前它支持bzr、hg、git、monotone、tla。

我不知道

然而,现代vc系统似乎能够与其他系统对话。例如,如果使用mercurial,则可以使用hgsubversion与subversion存储库交互。如果您使用git,那么您可以使用git svn做同样的事情。这些工具在命令行上使用。我不知道有哪一个可以在GUI中进行跨vc交互

您至少可以在大部分时间使用类似于tortoisehg的东西,然后转到命令行与git和svn交互。

已经说过,
hg
可以使用
hg git
repo交互,
bzr
可能能够与
hg
git
交互。(它们都可以与svn交互)

我不知道bzr git和bzr hg有多完整,从项目描述来看,它们可以做任何事情,除了推动


还有一个
gitbzr
项目,允许用户使用
git
bzr
存储库中拉/推


我唯一没有看到的是一个
git-hg
,它允许您与来自git的hg-repo进行交互。

您可能会对它感兴趣,想想如果我们也只有一种编程语言该有多棒!该项目在这些方面都有“远大的梦想”,但目前已陷入僵局。