单独的克隆或单独的分支

时间:2012-01-11 13:12:41

标签: git workflow branch

大家好:我对git分支并不特别兴奋,但我的组织大量使用它们。无论如何,我需要在头部工作。在过去,我在一个地方开发时“切换”了分支,然而,我觉得这让人感到困惑。

git中常见/惯用的是简单地有两个单独的git目录,一个用于branch1,另一个用于branch2?

拥有一个工作目录,在该目录中的分支之间切换是否更为常见。

此外,我很好奇这两种方法的好处/缺点。如果其中任何一个是完全荒谬的,请让我知道 - 我对git有点新。

3 个答案:

答案 0 :(得分:4)

在分支之间切换很常见。如果您有一些未保存的更改,使用git stash命令(请参阅文档中)。

对于来自同一存储库的不同分支具有单独的目录非常罕见< - strong> - 这是不必要的,低效且合理的,仅当您有例如。两个工作应用程序/网站同时进行,每个分支一个。

答案 1 :(得分:2)

Git使分支变得容易 - 使用分支。

每个分支有一个目录是非常低效的:它意味着你有两个git存储库,你需要保持两个同步。

在其他细节中,当您切换分支时(使用git checkout branchname),git 将只会重写在两个分支之间发生变化的文件。当你必须管理n个目录时,这比机制更有效。

如果您想创建主分支,只需git branch newbranch mastergit checkout newbranch - 或在一个命令中git checkout -b newbranch master

答案 2 :(得分:1)

一个目录中切换分支的想法由以下方式支持:

  • 分支之间合并的高频率,这意味着:
    • 您通常的分支之间的差异不是很重要
    • 作为小三角洲的结果,开关本身非常(非常)快)

  • 与为不同路径定义新环境相关的成本(这意味着您的IDE - Eclipse或Visual Studio - 项目和其他配置文件可能必须调整为新路径。
    如果所有内容都在一个目录中完成,那么您只需定义一次开发环境。