[英]How to add a new base to the first commit of a git revision tree
我已經設置了幾天的git存儲庫。 現在我發現我的起點是基於原始版本的一些工作。 我希望將原始版本添加為第一個提交,並且我當前的所有提交樹都基於它。 可能嗎? 目前的git修訂版:
A --- B --- C --- D大師
我希望在開頭插入一個提交
O --- A --- B --- C --- D高手,這樣我就可以用rebase來生成這樣的分支
O --- A --- B --- C --- D大師
\\ --- D'my_rebase_branch
也許你可以嘗試如下:
1.為原始版本分支創建一個名為base_work的新分支
2.為您的起點創建一個名為others_work的新分支
3.假設您當前的工作分支是my_work。 請嘗試以下命令:
git rebase --onto base_work others_work my_work
該命令將使您的工作基於base_work,而不是others_work。
如果要在現有倉庫的現有提交之上重新創建提交,則需要先在rebase之前導入該倉庫:
cd /path/to/your/repo
git remote add original /url/original/repo
git fetch original
然后你可以使用--root
選項進行rebase:
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
在這里)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.