我已经使用git工作了几个月,我发现大部分能够改善我日常工作的事情可以归结为分布式VCS中的灵活性和缺乏强制执行的默认策略.
很多人似乎都有同样的感受,并建立在这种灵活性的基础上
您使用自己喜欢的DVCS实现了哪些很酷的想法?
我在GitHub上有一个存储库,它依赖于在Bazaar开发的两个项目.目前我只是下载并解压缩源代码,但如果我真的可以保留其历史记录,那就太好了.有一个简单的解决方案吗?
GIT有哪些GUI就像Bazaar Explorer一样?
最好是Linux.
截图http://www.ubuntugeek.com/wp-content/uploads/2009/11/home-page-screenshot.png
很高兴在答案中包含或链接到屏幕截图.
如果你可以将每个应用程序作为一个答案,他们可以单独投票.
Git有merge-base命令,显示两个或多个分支的共同祖先.
Mercurial和bzr有什么类似的东西?
我在集市(启动板)上累了我的手,因为我可以在启动板上托管我的项目,并且bazaar(我的本地机器)将与启动板紧密集成.我在launchpad论坛上发布了我的问题,但没有得到任何答案.无论如何...
所以我正考虑将它从那里转移到其他网站.我不知道为什么,但有几个朋友说sourceforge并没有那么好,但我仍然看到太多的项目链接到sourceforge.
PS推荐.有没有一个地方你们上传你的个人项目,而且我认为SVN是最受欢迎的,但是使用git/bazaar,我不知道它只是一个炒作或分布式版本控制真的是要走的路.
我想将存储库从Subversion转换为Mercurial,但是当我最初设置存储库时,我是以最懒的方式做到的.随着时间的推移,结构继续变形和恶化(此时为5年).尽管如此,我还是希望保留尽可能多的历史,即使我必须弄脏并手动将东西拼凑在一起.
不用多说,目前的结构如下:
svn://svn.example.com/Example
+ trunk
+ BigProject
+ BinaryDepedencies
+ branches
+ BigProject
+ branch1
+ feature1
+ maintenance1
+ ...
+ tags
+ BigProject
+ tag1
+ tag2
+ ...
+ projects
+ small_project1
+ small_project2
+ small_project3
+ ...
Run Code Online (Sandbox Code Playgroud)
鉴于这只是最新的结构,这个存储库有什么希望吗?如果没有希望,任何人都有很好的方法在Mercurial(或集市)手工重建历史.
此外,由于各种原因,我将无法使用git,除非有一个防弹策略将这个特定的repo从Subversion转换为git到hg/bzr.
我知道阅读源代码是一个选项,因为这些系统是开源的,但我正在寻找一些关于Scott Chacon在Git Internals上的出色写作的内容.
Scott的文章简要介绍了Git如何在内部存储Blob,Trees和Commits等内容,以及所有这些内容是如何链接在一起形成修订历史的.他借助一些ruby代码演示了整个想法,你可以在交互式ruby控制台上运行来手工制作一个有效的git修订历史.
是否有类似的文章或教程可用于其他流行的版本控制系统,如Mercurial和Bazaar
出于代码审查的目的,我非常习惯使用该bzr qlog
命令直观地查看两次提交之间的更改.我现在开始使用git,我正在寻找相应的东西.我想要的三个主要功能是:
到目前为止我发现的最接近的git组合是注册meld
为git diff工具,然后git cola
用来比较修订版.不幸的是,这里的修订查看器是有限的,我一次只能比较一个文件.
我的后备解决方案当然是使用bzr-git
然后简单地运行bzr qlog
.我已经尝试了这个并且似乎工作正常,我只是担心当我开始在存储库中使用git特定功能时它会开始让我失望.
那么,是否有一个git工具或一系列工具,我可以毫不费力地获得相同的基本结果?
注意:我对SmartGit等商业解决方案不感兴趣
在过去的几个月里,我一直在使用Bzr来控制我的项目.我是唯一的开发人员,目前我只将一切都放在一个本地项目目录中,我提交并将其同步到DriveHQ.
我现在有一些大规模的实验可能会破坏这条主线,所以我一直在研究分支和共享存储库的概念.所以我的问题基本上是:如何从这个已经版本控制的基础创建一个新的共享存储库?
我熟悉主干,分支和标签的SVN项目结构,我将采用这种结构.我的计划是继续执行一个新的init-repo,并将我的所有代码(加上.bzr)复制到trunk文件夹中.这样可以吗?或者有什么方法可以将我已经拥有的内容转换为共享存储库吗?
非常感谢您的帮助.
克里斯托弗
Mercuril,Git和Bazaar有办法获得路径根:
git rev-parse --show-toplevel
hg root
bzr root
Run Code Online (Sandbox Code Playgroud)
如何在subversion中打印本地根路径?
更新
例:
> svn checkout https://example.com/svn/foo ~/foo --username fabiocerqueira
> cd ~/foo
> svn root (don't works)
/home/user/project/foo/
Run Code Online (Sandbox Code Playgroud)