如何在git修订树的第一次提交中添加新的基

如何在git修订树的第一次提交中添加新的基,git,Git,我已经设置了几天的git存储库。现在我发现我的出发点是一些基于原始版本的工作。 我希望将原始版本添加为第一次提交,我当前的所有提交树都基于它。可能吗? 当前git版本: A--B--C--D大师 我希望在开始时插入一个commit O--A--B--C--D master,以便我可以使用rebase生成这样的分支 O--A--B--C--D主控台 \---D'my_rebase_branch如果要在现有回购的现有提交之上重新创建提交,则需要在重新基础之前首先导入该回购: cd /path/to/

我已经设置了几天的git存储库。现在我发现我的出发点是一些基于原始版本的工作。 我希望将原始版本添加为第一次提交,我当前的所有提交树都基于它。可能吗? 当前git版本:

A--B--C--D大师

我希望在开始时插入一个commit

O--A--B--C--D master,以便我可以使用rebase生成这样的分支

O--A--B--C--D主控台

\---D'my_rebase_branch

如果要在现有回购的现有提交之上重新创建提交,则需要在重新基础之前首先导入该回购:

cd /path/to/your/repo
git remote add original /url/original/repo
git fetch original
然后,可以使用以下命令重新设置基础:

如果“
original
”不存在,您可以创建它,只要您有权访问所述版本的内容(源代码):

cd /path/to/original/source/code/of/release
git init .
git add .
git commit -m "original release source code"

然后,返回到您自己的回购,重复我提到的命令(无需在此处重新设置基础)

也许您可以按如下方式尝试:
1.为原始发布分支创建一个名为base_work的新分支
2.为您的起点创建一个名为others_work的新分支
3.假设您当前的工作分支是my_工作。请尝试以下命令:

git rebase --onto base_work others_work my_work git rebase--在基础上工作其他人工作我的工作
该命令将使您的工作基于基本工作,而不是其他工作。

您可能正在寻找
git-rebase--root
,但您的问题没有足够的细节让我确切知道。谢谢您的关注。我将在原始问题中绘制一个图表。基础工作分支应该在哪里?我知道rebase的用法。目前的问题是,我没有包含真实来源的提交。在我的案例中没有现有的回购协议。谢谢你的回复。@ZhangLi我已经根据你的评论编辑了我的答案。VonC,非常感谢。最后一个命令应该是git-rebase--on-original/master--root-master“.git非常灵活。 git rebase --onto base_work others_work my_work