我正在尝试对此做类似的事情:Creating GitHub repository with only a subset of a local repository's history
我目前在master上提交了所有提交,现在我想创建一个名为release的分支,它只提交过去提交的所有提交,并且没有旧提交的历史记录。
我尝试在该链接中使用该方法,但这样做导致任何进一步的合并到发布中不自动合并,这有点烦人。 (它给出的错误是Squash提交 - 不更新HEAD。自动合并失败;修复冲突然后提交结果。) 有没有不同的方法可以自动合并?
我知道最简单的方法是创建一个单独的仓库,但理想情况下,我宁愿只使用分支。
我希望它最终看起来像这样:
v1是来自提交2的合并,v2是来自提交5的合并等等。
[发布]:
[主]:
我是git的新手很抱歉,如果这真的很明显! 谢谢!
答案 0 :(得分:2)
如果你想在发布分支中进行提交,它将与主分支中的顶级提交具有完全相同的树,你可以这样做:
# make sure we are on the release branch
git checkout release
# populate index and working tree with tree from top master commit
git read-tree -u --reset master
# commit it as "v1"
git commit -m v1