GIT能否像SVN一样工作?

3

我是GIT的新手,我的管理层提出了一个需求:GIT能否像SVN一样工作?也就是说,所有的交互都可以通过服务器(集中式版本控制系统)进行,而不是用户级别(分布式版本控制系统),这样分支和合并就更容易了吗?


2
请澄清一下:如果你想要类似于svn的行为,为什么要使用git? - Shep
集中式版本控制系统如何使分支和合并变得更容易一点? - user743382
恐怕不行。Git和svn的工作方式非常不同,即使尝试将svn的思想映射到git,也会让您感到困惑。最好花些时间认真学习Git,以便能够正确地使用它,而不是像使用Subversion一样去使用它,这样更安全,也更有长远投资价值。 - Noufal Ibrahim
这是其中一件不幸的事情,管理层需要在做决定之前学习新东西。因为答案取决于你想要的具体是什么,所以它既可以是“是”,也可以是“否”。 它能像 SVN 一样完全运行吗? 不行。 它能够完全替代 SVN(指您找不到任何缺少功能)吗? 能。 - slebetman
另外,能够在探索自动化构建过程中使用临时克隆版本的能力,将避免您将学习过程暴露为一系列“哎呀,试试这个”的提交记录到官方代码库中。在私有仓库中构建,直到搞清楚为止,然后在合并更改到主分支时重新整理掉错误的提交记录。 - tripleee
显示剩余2条评论
4个回答

3
请看subgit。它允许您使用git并将结果存储在subversion中。这对于测试工作流程以及查看git的运行情况非常有用。 然而,git并不是svn!如果您只是更换工具而不适应您的工作流程和人员思维方式,那么切换就没有意义,迁移很可能会失败。
首先找到一个好的理由,为什么要切换。您的工作流程目前存在哪些问题?您想要改变什么以及为什么?之后,您可以查看工具并选择最适合您需求的工具。
仅仅因为一些人说它很酷而使用一些随机工具从来不是个好主意。;)

2

绝对可以定义一个规范仓库作为工作流的“中心”,几乎所有项目都使用这种方式。分布式版本控制系统(DVCS)只允许你链接仓库(通常情况下,开发人员会将彼此添加为远程仓库以便更轻松地共享,而无需推送到主仓库)。

如果你想要线性历史记录,git没有任何内置的强制执行方法,但是可以编写git钩子来拒绝具有多个父提交的任何提交。然而,我强烈建议不要使用钩子,而是采用审查策略(“在提交之前重新基于所有拉取请求”),因为你偶尔需要进行合并,而逻辑合并在SVN模型中非常混乱。


0

在GIT中,您可以获得与SVN相同的所有功能。如果需要详细了解,请提出您的具体要求。您只需要一个中央git存储库,每个人都可以从中克隆。与SVN相比,GIT中的分支和合并更加轻量级和快速。


0

你需要更具体地说明你需要什么。

如果你只是想要所有提交的副本,你可以使用一个post-commit钩子来实现。这更多是一个工作流问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接