GIT中的分支机构与SVN Consfusion中的分支机构

时间:2017-05-23 15:08:04

标签: git svn github version-control

我正在将我的项目从SVN迁移到GIT,我很难理解版本控制系统中术语之间的差异。

在Subversion中,每个开发人员都有自己的分支,我们用来进行更改并将其与Trunk合并,然后将Trunk合并到我们的分支以获取更新的代码。

在Git中似乎有点不同。叉子和克隆是我应该寻找的东西吗?让每个开发人员独立工作。在这种情况下,我将如何获得推动master(远程)更改的其他开发人员所做的更改以及其他开发人员如何获得我推入master(远程)所做的更改。

对于令人困惑的语言感到抱歉,我对GIT和SVN感到困惑,发现很难解释。

谢谢

1 个答案:

答案 0 :(得分:-1)

我理解来自svn的 preplexing 。 “分支”的概念甚至不存在于subversion中(分支只是开发人员同意将其视为分支的普通目录,而不是与svn POV分开的概念)。如果人们理性地使用git,他们(每个人)都会在自己的计算机上至少拥有一个项目回购。假设它们都是从具有分支“master”的“中央”仓库克隆而来(不是强制性的,但让我们假设),那么人们可能最终会得到一个本地“主”分支(从origin / master开始...这是来自subversion的一个新概念:origin是本地存储库的远程。远程只是另一个repo ...本地repo可以与许多不同的远程控制器相关联,并且每个远程控制器都被同步/跟踪当您获取/拉取时,在本地仓库中。

这是与subversion的另一个主要区别:让我们假设开发人员开始使用他们的主服务器。此时,他们分歧。但如果他们都在研究“大师”呢?一个公平的问题。当然,在“主人”......但它是他们的主人(比如,每个仓库都有一个主分支),他们正在独立工作(提交)。

过了一会儿,他们会想把他们所做的事情“合并”到一个公共分支,对吧?有 maaaaaaany 工作流程来完成这项工作:

  • 使用中央仓库,每个人都承诺一个分支,a-la-svn,说
  • 使用中央存储库,人们将使用单独的分支提交
  • 开发人员在自己的回购中发布内容(比如git守护进程),以便其他开发人员可以在没有中央回购的情况下从中获取

那部分是灵活的......好吧,我认为所有部分都是灵活的git。 https://www.atlassian.com/git/tutorials/comparing-workflows