没有分支的分支

时间:2009-11-06 07:51:13

标签: git branch

这似乎是一个奇怪的问题,但请耐心等待。

我想(ab?)使用git进行我正在进行的一个小项目,我想分支一个文件,然后将分支文件保存在新名称的当前分支中,保留历史记录(允许我改变原来的变化)。这与Subversion我认为类似,因为Subversion不知道分支,只知道副本。

我想拥有兼作文档模板的文档(这些是纯文本文件,不用担心合并很可能),并且为了将新文档基于另一个文档,我想只是分支它。

Git可以实现这一切吗?如果不是(并且我实际上假设它不是,给定Git的结构),是否有任何可以想象的替代方案?我不想放弃Git,因为我更多地使用它,所以如果没有好的解决方案,我想我可以在它上面实现我自己的(轻量级)分支/ rebase。

3 个答案:

答案 0 :(得分:1)

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

比如说:

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

答案 1 :(得分:1)

git会为您检测文件的副本并正确跟踪它们。

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

  • 您是否希望能够修改模板文件并让“分支”文件反映更改?
  • 只是您希望能够跟踪哪些文件来自哪些模板?

答案 2 :(得分:0)

您可以设想在目录树中的不同位置安装相同的子模块,并安装了不同的版本。文件名相同,但版本不同。不过,我不确定我是否愿意成为那样的人。