是否存在与大多数版本控制系统(git、svn、hg、cvs,也许 bzr)兼容的版本控制 GUI
我只是认为,如果我不必学习几乎完全不同的学科,我实际上可以更快地贡献代码。
I Just think that I could actually contribute code much faster if I didn't have to learn what is an almost entirely other subject.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
第一次学习版本控制系统(例如git)大约需要一两周的时间。之后,每个系统只需花费您几天的时间。
这并不是浪费时间,恰恰相反,这是一项非常有价值的投资。
它实际上会帮助您改进管理项目的方式。
我从很多人那里听说,一旦他们学习了 git,没有它就无法管理任何项目(我就是其中之一)。
因此,帮自己一个忙,学习您想要贡献的项目的版本控制系统。
learning a version control system (e.g. git) for the first time would take about a week or two. After that, each system should take you a few days only.
Not really a waste of time, quite the opposite, a very valuable investment.
It will actually help you improve the way you manage your projects.
I've heard from a lot of people that once they learn git, they can't manage any project without it anymore (and I'm one of those people).
So do yourself a favor and learn the version control system for the project you want to contribute to.
Emacs
我不知道这是否是您感兴趣的,但 Emacs 附带了一个统一但有限通用版本控制界面,称为 VC。它适用于各种版本控制系统:CVS、RCS、Subversion、Git、Bazaar、Mercurial 等。
还有第三方 DVC 包,它为版本控制系统提供通用的 Emacs 接口。目前它支持 bzr、hg、git、monotone、tla。
Emacs
I don't know if it is what you are interested in, but Emacs comes with a unified but limited generic version control interface called VC. It works with various version control systems: CVS, RCS, Subversion, Git, Bazaar, Mercurial and others.
There is also third-party DVC package, which provides a generic Emacs interface to version control systems. Currently it supports bzr, hg, git, monotone, tla.
话虽如此、
hg
可以使用hg-git
和bzr
与git
存储库进行交互也许能够与hg
和git
进行交互。 (它们都可以与svn交互)。我不知道 bzr-git 和 bzr-hg 的完整性如何,从项目描述来看,除了推送之外,它们可以做任何事情。
https://launchpad.net/bzr-git
https://launchpad.net/bzr-hg
还有一个
git-bzr 项目允许使用 git 从
bzr
存储库中拉/推。http://github.com/kfish/git-bzr
我唯一没有做的事情'还没有看到一个 git-hg ,它允许您与 git 的 hg 存储库进行交互。
Having said that,
hg
can interact with agit
repo usinghg-git
, andbzr
might be able to interact with bothhg
andgit
. (all of them can interact with svn).I don't know how complete are bzr-git and bzr-hg, judging for the project descriptions, they can do anything except for pushing.
https://launchpad.net/bzr-git
https://launchpad.net/bzr-hg
There's also a
git-bzr
project to allow one to usegit
to pull/push from abzr
repository.http://github.com/kfish/git-bzr
The only thing which I didn't see yet is a
git-hg
that allows you to interact with an hg repo from git.你提到的系统有不同的功能,所以如果 GUI 必须支持它们中的每一个,它会变得非常混乱。
例如 git 和 hg 没有这个概念
退房(如准备好
在编辑之前修改)文件 -
这是一件好事 - 但是 svn 和
cvs 希望您签出文件
在修改它们之前。
底层实现也不同,因此该工具必须为每个系统提供完全不同的模块 - 我希望为每个系统提供单独的工具会更容易。
也就是说,有些工具支持多个系统,例如 cvs 和 svn,因为它们都有相似的工作流程。我还没有看到可以在 cvs 上运行的工具,比如 Mercurial 或 svn 和 git。
我个人喜欢为特定系统使用特定的 gui,因为抽象通常隐藏一些功能,无论如何,我更喜欢使用的最常见的用户界面是命令行......
Systems you mentioned have different features so the gui would get very confusing if it had to support each of them.
For example git and hg does not have the notion
of checking out (as in get it ready
to modify) file before editing it -
which is a good thing - but svn and
cvs expect you to check out files
before you modify them.
The underlying implementation is different as well so again the tool would have to have a completely different module for each system - I would hope that it is easier to have separate tools for each.
That said, there are tools that support more than one system like cvs and svn because they both have similar work flows. I have not yet seen tools that would work on cvs and say mercurial or svn and git.
I personally like to use specific gui for specific system because the abstraction usually hides some functionality, the most common user interface that I prefer to use is the command line anyway ...
据我所知。
然而,现代的 vc 系统似乎能够与其他系统对话。例如,如果您使用 Mercurial,则可以使用 hgsubversion 与 subversion 存储库交互。如果你使用 git,你可以使用 git-svn 来做同样的事情。这些工具在命令行上使用。我不知道有哪个可以在 GUI 中进行跨 VC 交互。
你至少可以在大部分时间使用像 tortoisehg 这样的东西,然后进入命令行与 git 和 svn 交互。
Not that I'm aware of.
However, the modern vc systems seem to be able to talk to other systems. For example, if you use mercurial, you can use hgsubversion to interact with a subversion repository. If you use git, you could use git-svn to do the same thing. These tools are used on the command line. I'm not aware of one that does cross-vc interaction in a GUI.
You could at least use something like tortoisehg most of the time, and drop to the command line to interact with git and svn.
您可能对 VCS 包装器感兴趣
You might be interested in VCS Wrapper