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

时间:2018-01-12 03:18:03

标签: git

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

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

我希望在开头插入一个提交

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

O --- A --- B --- C --- D大师
\ --- D'my_rebase_branch

2 个答案:

答案 0 :(得分:2)

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

    git rebase --onto base_work others_work my_work

该命令将使您的工作基于base_work,而不是others_work。

答案 1 :(得分:1)

如果要在现有仓库的现有提交之上重新创建提交,则需要先在rebase之前导入该仓库:

cd /path/to/your/repo
git remote add original /url/original/repo
git fetch original

然后你可以使用--root option

进行变基
git checkout master
git rebase --onto original/master --root master

如果" original"如果您不能访问所述版本的内容(源代码),则可以创建它:

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

然后,回到你自己的回购,重复我提到的命令(这里不需要rebase --onto