[英]Backup then reset master branch with git?
我有一個git存儲庫(在github上),它具有項目的第一個狀態,然后由第一個開發人員放棄。
我們已經決定收回這個項目了,但是我們同意不從前面的代碼開始,因為它與我們計划做的完全不符,並且沒有那么發達。
所以這是一個從頭開始,但我想跟蹤我們的前任做了什么,所以如果需要我們可以參考它。 理想的情況是擁有一個git存儲庫,其中包含我們當前正在處理的master
分支,以及一個old-dev
分支,在初始提交時從master
拆分,跟蹤舊版本的master
。
閱讀完這些頁面( 重命名你的主分支以及如何創建一個空分支 )之后,我嘗試使用git branch --orphan new-dev
創建一個新的分支,並在將master
移動到old-dev
后用這個替換master
git branch -m master old-dev
。 但是然后git
行為奇怪,做了一個初始提交復制舊master
然后讓我刪除一切。
我怎么能做我干凈利落的事情,讓master
分公司徹底清理舊東西呢? 也許通過創建一個新的存儲庫並導入舊的存儲庫? 或者是否有這樣的工具可以幫助我一個github? 我不知道該怎么辦......
正如在“ 在git中,是否有一種簡單的方法將不相關的分支引入存儲庫? ”, git checkout --orphan
“並不完全符合提問者的要求,因為它填充了索引和工作樹來自<start_point>
(因為這畢竟是一個checkout
命令)“
因此,更簡潔的解決方案是在新的git倉庫中創建新的master
分支 ,然后在當前倉庫中導入該分支(其中master
已重命名,並且尚未有master
分支)
$ cd /path/to/repo
$ git fetch /path/to/unrelated master:master
這樣,您的master
分支從干凈的歷史開始。
git checkout old_master -b
git checkout master
rm [all the old directories and files but not .git mind you]
git add -u .
gir commit -m "Brave new world"
現在,您將擁有分支old_master中的舊代碼和一個干凈的目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.