相关疑难解决方法(0)

为什么Git比Subversion更好?

我已经使用Subversion几年了,在使用SourceSafe之后,我只是喜欢Subversion.结合TortoiseSVN,我无法想象它会如何变得更好.

然而,越来越多的开发人员声称Subversion存在问题,我们应该转向新一代的分布式版本控制系统,例如Git.

Git如何改进Subversion?

svn git

393
推荐指数
17
解决办法
88万
查看次数

企业中基于Git的源代码控制:建议的工具和实践?

我将git用于个人项目,并认为它很棒.它快速,灵活,功能强大,适用于远程开发.

但现在它的工作是强制性的,坦率地说,我们遇到了问题.

开箱即用,git似乎不适用于大型(20多个开发人员)组织的集中开发,开发人员具有不同的能力和git复杂程度 - 特别是与Perforce或Subversion等其他源控制系统相比,针对那种环境.(是的,我知道,Linus从未打算这样做.)

但是 - 出于政治原因 - 我们仍然坚持使用git,即使它很糟糕我们正试图用它做什么.

以下是我们看到的一些事情:

  • GUI工具还不成熟
  • 使用命令行工具,很容易搞砸合并并删除其他人的更改
  • 除了全局只读或读写权限之外,它不提供每用户存储库权限
  • 如果您拥有存储库的任何部分的权限,那么您可以对存储库的每个部分执行相同的操作,因此您无法执行类似于在其他人无法在中央服务器上创建小组跟踪分支的操作一塌糊涂.
  • 除了"任何事情"或"仁慈的独裁者"之外的工作流程很难鼓励,更不用说强制执行了
  • 目前尚不清楚是否最好使用一个大型存储库(让每个人都搞乱所有东西)或大量的每个组件存储库(这会让人头疼,试图同步版本).
  • 对于多个存储库,还不清楚如何通过从中央存储库中提取来复制其他人拥有的所有源,或者做到像昨天下午4:30那样获取所有内容的事情.

但是,我听说人们在大型开发组织中成功使用git.

如果您处于这种情况 - 或者如果您通常拥有工具,提示和技巧,以便在一个大型组织中使用git变得更容易和更有效率,而某些人不是命令行粉丝 - 我很想听听您有什么建议.

顺便说一句,我已经在LinkedIn上问了这个问题的一个版本,并没有得到真正的答案,但很多"天哪,我也很想知道这一点!"

更新:让我澄清一下......

在我工作的地方,除了git之外我们不能使用任何东西.这不是一个选择.我们坚持下去.我们不能使用mercurial,svn,bitkeeper,Visual Source Safe,ClearCase,PVCS,SCCS,RCS,bazaar,Darcs,monotone,Perforce,Fossil,AccuRev,CVS,甚至是我在1987年使用的Apple的好投影仪.因此,虽然欢迎您讨论其他选项,但如果您不讨论git,您将无法获得赏金.

另外,我正在寻找有关如何在企业中使用git的实用技巧.我在这个问题的顶部列出了我们所遇到的问题清单.同样,欢迎人们讨论理论,但如果你想获得赏金,请给我解决方案.

git enterprise

120
推荐指数
5
解决办法
2万
查看次数

在大型组织中使用Mercurial

我已经将Mercurial用于我自己的个人项目一段时间了,我喜欢它.我的雇主正在考虑从CVS转换到SVN,但我想知道是否应该推动Mercurial(或其他一些DVCS).

Mercurial的一个问题是它似乎是围绕每个"项目"拥有一个存储库的想法而设计的.在此组织中,当前CVS存储库中有许多不同的可执行文件,DLL和其他组件,这些组件按层次结构组织.有许多通用的可重用组件,但也有一些客户特定的组件和客户特定的配置.当前的构建过程通常从CVS存储库中获取一些子树.

如果我们从CVS迁移到Mercurial,那么组织存储库/存储库的最佳方法是什么?我们应该有一个包含所有内容的巨大Mercurial存储库吗?如果不是,那么较小的存储库应该有多细粒度?我认为如果他们必须从许多不同的地方提取和推送更新,人们会觉得非常讨厌,但如果他们必须拉/推整个公司的代码库,他们也会觉得很烦人.

有人有这方面的经验或建议吗?


相关问题:

mercurial dvcs

64
推荐指数
3
解决办法
8408
查看次数

描述使用版本控制(VCS或DVCS)的工作流程

我想在使用vcs或dvcs时学习其他人的工作流程.

请描述您处理以下任务的策略:

  • 实现功能
  • 修复错误(在开发和部署应用程序期间)
  • 代码审查
  • 重构代码(后代码审查)
  • 合并补丁
  • 发布新版本的应用程序(桌面,网络,移动设备,您会以不同的方式对待它们吗?)

您可以随意组织您的答案,不按任务分组,但按照您认为相关的任何分组,但请通过VCS/DVCS进行组织(请不要混用它们).

谢谢.

svn git mercurial dvcs

51
推荐指数
2
解决办法
6346
查看次数

分布式版本控制系统和企业 - 一个很好的组合?

我可以看到为什么分布式源代码控制系统(像Mercurial这样的DVCS)对开源项目有意义.

但它们对企业有意义吗?(通过集中的源控制系统,如TFS)

DVCS的哪些特性使其更适合或更适合具有许多开发人员的企业?(通过集中式系统)

git version-control tfs mercurial dvcs

49
推荐指数
1
解决办法
7181
查看次数

使用它后,你有什么优点和缺点?

我现在正在使用SVN,过去我曾使用过CVS和VSS.SVN是我书中最喜欢的,但我听说过很多关于git的内容.使用git的人中,你的经历有哪些优点和缺点?

git version-control

41
推荐指数
7
解决办法
2万
查看次数

Mercurial在哪些方面比TFS更好/更差?

我刚刚加入了一家新公司,目前我们正在使用Microsoft SourceSafe作为我们的存储库.这些设置并不理想,但事实证明这是一个很大的痛苦.

我最近使用Mercurial并认为它很棒,所以我主张转换到那个,但看起来该公司已经拥有Team Foundation Server许可证并希望使用它.

任何人都可以给我一个积分列表,其中一个比另一个好吗?我没有使用TFS,所以我不知道它的优点/缺点.

version-control tfs mercurial visual-sourcesafe

25
推荐指数
3
解决办法
7681
查看次数

Perforce值得吗?

我的一位同事对PerForce的可能性感到兴奋(我们基本上需要在后勤上对补丁和更改进行分组,并且本机上的SCM支持非常好).我们目前使用CVS,并对所有可能性开放.我们只有少数使用纯Eclipse并使用ant脚本运行构建的开发人员.

在跳入水中之前,我想听听其他技术原因可以说"好主意"或"坏主意"的人.我也想知道这在你的日常工作中是多么的干扰.


编辑2011:仅供记录.我们迁移到git - 决定性的因素是我们使用Eclipse和eclipse.org用于git,因此我们最终可以期待非常好的IDE集成.我们有点早了 - 直到今年夏天的Eclipse 3.7.今天git在Eclipse中非常好用.


编辑2015:事实证明,git最终成为无可争议的赢家,这得益于github和一般的IDE支持,结合Maven最终使Java项目与IDE无关.

java eclipse git mercurial perforce

19
推荐指数
3
解决办法
3777
查看次数

git vs mercurial performance

是否存在任何性能基准?

我正在寻找创建一个repo并提交/推送遗留代码,这些代码可以运行几个演出.

是更快/足迹等?

如果这太模糊,我道歉

git performance benchmarking mercurial dvcs

18
推荐指数
4
解决办法
7101
查看次数

使用Git与ClearCase,AccuRev或Perforce的价值?

我感兴趣的是使用传统SCM产品(ClearCase,AccuRev,Perforce等)和Git对分布式团队的大型项目的价值(或缺乏).

在提高团队活动可见性方面是否有显着的增值?控制分支和合并?访问控制和安全性?发布工程?其他因素?

或者Git本身更好吗?或者是否有一个开源SCM,它将等同于上面提到的商业产品?

谢谢.

git version-control perforce accurev clearcase

10
推荐指数
1
解决办法
1243
查看次数

Git的企业采用率?

最近在一些同事之间进行了讨论,在当今的软件行业中,存在两个独立的世界:

  1. FOSS导向
  2. 企业

Git在企业环境中使用了多少?

您在企业环境中使用Git的经历是什么?

git corporate-policy

9
推荐指数
1
解决办法
2160
查看次数

Mercurial或git比svn对分支/合并有什么好处?

我听说过,例如将分支与git或mercurial合并比使用svn更容易.

在软件博客上阅读Joel的最后一篇,我并没有明白为什么.你能提供一个具体的例子,与svn相比,与git/mercurial合并导致更少的合并冲突吗?

svn git merge mercurial

4
推荐指数
2
解决办法
2142
查看次数

违背组织中使用的共同源代码控制

我工作的公司专门使用Clearcase.我觉得学习和使用它是不值得的,因为我的项目不会涉及太多人(最多3人),也不会涉及花哨的开发流程.当我们根据我的建议提出"IT支持和统一源代码控制"这一点时,我如何说服我的经理使用单独的源代码控制?或者这一点是否有效,我应该选择Clearcase?

谢谢...

PS:我在考虑使用Subversion.

version-control

4
推荐指数
2
解决办法
375
查看次数