代码之家  ›  专栏  ›  技术社区  ›  falstro

无枝分枝

  •  0
  • falstro  · 技术社区  · 16 年前

    我想(ab?)将git用于我正在进行的一个小项目,在这个项目中,我想对一个文件进行分支,但将分支后的文件保留在当前分支中的一个新名称下,以维护历史记录(允许我将更改重定为原始文件的基础)。我想这与Subversion类似,因为Subversion不知道分支,只知道拷贝。

    我希望文档可以兼作文档模板(这些是纯文本文件,不必担心合并会很有可能),并且为了将新文档建立在另一个文档的基础上,我希望将其分支。

    这在Git中是可能的吗?如果不是(考虑到Git的结构,我实际上假设不是),是否有任何可以想象的替代方案?不过,我不想离开Git,因为我使用它的目的远不止于此,所以如果没有好的解决方案,我想我可以在Git之上实现自己的(轻量级)分支/重基。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Jim Puls    16 年前

    分支有什么问题?您可以很容易地维护“模板”分支,并在它们之间移动更改的文档。

    git checkout -b templates
    git checkout master
    git checkout templates path/to/template.ext
    cp path/to/template.ext path/to/document.ext
    # decide you want to change the template
    cp path/to/document.ext path/to/template.ext
    git commit -a -m "changed template"
    git checkout templates
    git merge master
    
        2
  •  1
  •   Jeremy Wall    16 年前

    git将为您检测文件的副本,并在其上正确跟踪历史记录。

    也许我不明白你在问什么?

    • 您是否希望能够修改模板文件并使“分支”文件反映更改?
    • 是否只是希望能够跟踪哪些文件来自哪些模板?
        3
  •  0
  •   krosenvold    16 年前

    可以想象,您可以在目录树的不同位置挂载相同的子模块,挂载不同的版本。文件名应该是相同的,但版本不同。不过,我不确定我是否愿意成为维护这些东西的人。