这似乎是一个奇怪的问题,但请耐心等待。
我想(ab?)使用git进行我正在进行的一个小项目,我想分支一个文件,然后将分支文件保存在新名称的当前分支中,保留历史记录(允许我改变原来的变化)。这与Subversion我认为类似,因为Subversion不知道分支,只知道副本。
我想拥有兼作文档模板的文档(这些是纯文本文件,不用担心合并很可能),并且为了将新文档基于另一个文档,我想只是分支它。
Git可以实现这一切吗?如果不是(并且我实际上假设它不是,给定Git的结构),是否有任何可以想象的替代方案?我不想放弃Git,因为我更多地使用它,所以如果没有好的解决方案,我想我可以在它上面实现我自己的(轻量级)分支/ rebase。
答案 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)
您可以设想在目录树中的不同位置安装相同的子模块,并安装了不同的版本。文件名相同,但版本不同。不过,我不确定我是否愿意成为那样的人。