在Git中,如何创建';在最老的承诺之前?

在Git中,如何创建';在最老的承诺之前?,git,Git,我有一个Git存储库,它最早的提交版本是6.8.2(标记为“v6.8.2”)。我有6.8.1版的包,我想将其作为最早提交的父提交提交提交到存储库。这可能吗?如果是这样,怎么做?您可以在您想要的最旧提交(v6.8.1)的基础上重新设置当前分支的基础。虽然这会改写你的历史,但这是可能的 编辑以添加更多内容 假设您的代码位于分支master 清除现有代码并创建新分支。您的旧代码没有丢失-它仍然存在于主分支上 git symbolic-ref HEAD refs/heads/newbase rm .gi

我有一个Git存储库,它最早的提交版本是6.8.2(标记为“v6.8.2”)。我有6.8.1版的包,我想将其作为最早提交的父提交提交提交到存储库。这可能吗?如果是这样,怎么做?

您可以在您想要的最旧提交(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
分支,它从代码的早期状态开始


不过这一切都有点乱。如果您只想将代码添加到存储库中,只需执行第一位,这将创建一个新分支。标记它以便知道它是什么,不需要将
master
分支重新设置到它的基础上,因为如果您到达master的基础,并且希望在时间上追溯到更远的地方,您可以只看到另一个分支中的内容。

我不知道如何做,因为存储库不包含版本6.8.1的提交。我的问题是如何将该版本的提交到存储库中,然后如何使其成为初始提交的父级。@Steve Emmerson-现已更新。Hakre,否。存储库是私有的,没有克隆。您可以收回6.8.2提交,进行6.8.1提交,然后在上面执行6.8.2提交并完成—只是重写历史。因为你还没推,没问题。可能是重复的
git symbolic-ref HEAD refs/heads/newbase
rm .git/index
git clean -dxf