我有一个Git存储库,其最早的提交是版本6.8.2(标记为“v6.8.2”)。我有包的版本6.8.1,我想提交到存储库作为最早提交的父提交。这可能吗?如果是这样,怎么样?
答案 0 :(得分:4)
您可以在所需的最早提交之上重新定义当前分支(v6.8.1)。不过,它会改写你的历史,但这是有可能的。
编辑添加更多
假设您的代码位于分支master
清除现有代码并创建新分支。您的旧代码不会丢失 - 它仍然存在于主分支上。
git symbolic-ref HEAD refs/heads/newbase
rm .git/index
git clean -dxf
现在你在分支newbase
这是一个空目录。将您想要成为新基础的文件添加到此处。
<add the files to the directory>
git add .
git commit -a -m "New base commit v6.8.1"
新的你有两个分支master
,其原始代码和newbase
只有你的新基础。
现在签出master
分支并在newbase
分支
git checkout master
git rebase newbase
然后您需要做的就是修复冲突,并且您有一个新的master
分支,它从代码的早期状态开始。
虽然这有点乱。如果您只想将代码添加到存储库,只需执行第一位,即创建新分支。标记它以便你知道它是什么,没有必要将master
分支重新绑定到它上面,因为如果你到达master的基础,并希望进一步回到过去 - 你可以看到什么在另一个分支。