我有一個Git存儲庫,其最早的提交版本是6.8.2(它被標記爲「v6.8.2」)。我希望提交到版本庫的版本爲6.8.1,作爲最舊提交的父提交。這可能嗎?如果是這樣,怎麼樣?在Git中,我如何創建一個在最老的提交之前的提交?
回答
您可以在您想要的最舊提交(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
分支,因爲如果您到達主站的底層,並且想要進一步及時返回 - 您可以看到其他站點中的內容科。
我不明白這是因爲存儲庫不包含版本6.8.1的提交。我的問題是如何獲得該版本的提交到存儲庫,然後如何使它成爲初始提交的父代。 – 2011-06-16 22:00:22
@Steve Emmerson - 現在更新。 – Abizern 2011-06-16 23:21:37
- 1. 的Git - DIFF在老枝之間提交
- 2. 我如何在git中提交一個未提交的提交日期?
- 3. 在提交之前創建的發佈中添加一個提交
- 4. Git for Windows正在創建提交重複日期到前一個的提交?
- 5. 刪除之前在Git中的提交
- 6. 在提交之前創建新的Guid
- 7. 如何在我的提交之前插入已提交的提交,並還原那些已提交的提交?
- 8. 如何編輯以前的提交,並在不刪除git之前的提交?
- 9. 如何在git中提交提交?
- 10. 如何編輯我之前在Git中的提交?
- 11. Git:如何編輯之前不是最新提交的提交的消息?
- 12. 如何壁球老提交和最近的合併提交
- 13. 我該如何使用git提交當前的主提交?
- 14. 如何使用gitpython做最後一次提交的當前提交的git diff?
- 15. 如何在解析和提交之前記錄從'git merge'引入的提交?
- 16. 如何在提交子模塊之前從提交git項目中恢復?
- 17. 獲取最後一次提交之前的提交
- 18. Git在合併之前合併提交
- 19. 如何在git中一次提交一系列提交?
- 20. 如何編輯/修改Git中最後一個提交之前的提交消息?
- 21. 在eclipse中創建git補丁提交
- 22. 如何在一個git倉庫中找到最新的提交?
- 23. git:在檢出舊的提交後,我如何看到下一個提交?
- 24. 如何引用git commit提交消息中的前一個提交
- 25. 從前一個提交創建一個git存儲庫
- 26. git:在我提交了一個rebase命令後,他們提交
- 27. Git的用法:「插入」提交之前提交
- 28. 在提交之前創建一個textarea預覽
- 29. 在提交新的更改之前更正以前的提交
- 30. 如何在一次提交中提交SVN和GIT?
已經推? – hakre 2011-06-16 20:53:43
Hakre,no。該存儲庫是私有的,並且沒有克隆。 – 2011-06-16 22:01:56
您可以收回6.8.2提交,完成6.8.1提交,然後在6.8.2提交之後完成 - 只需重寫歷史記錄即可。因爲你還沒有推動沒有問題。 – hakre 2011-06-16 22:22:29