我有一個項目並開始使用新版本。這個項目現在與以前的版本完全不同,它的功能很少,也沒有API。遷移到新的git倉庫在某個點後面留下舊的倉庫
我想將自最近發佈以來發生的更改轉換爲新的存儲庫。我想在開始重構之前將舊的存儲庫留在狀態中。
我可以簡單地在新的存儲庫中進行初始提交,然後強制恢復舊的存儲庫。但我懷疑這會在社區中受到強烈的折磨。
我懷疑還有一種方法可以做到這一點有關HEAD。我的所有更改都是由原始主人完成的,因爲它是一個小型圖書館。
我有一個項目並開始使用新版本。這個項目現在與以前的版本完全不同,它的功能很少,也沒有API。遷移到新的git倉庫在某個點後面留下舊的倉庫
我想將自最近發佈以來發生的更改轉換爲新的存儲庫。我想在開始重構之前將舊的存儲庫留在狀態中。
我可以簡單地在新的存儲庫中進行初始提交,然後強制恢復舊的存儲庫。但我懷疑這會在社區中受到強烈的折磨。
我懷疑還有一種方法可以做到這一點有關HEAD。我的所有更改都是由原始主人完成的,因爲它是一個小型圖書館。
git存儲庫可以指向不同的遠程存儲庫。
你只已origin
確定最有可能的,你可以一一列舉:
git remote show
在GitHub上,你可以創建一個乾淨的庫,例如your-user/new-remote-repo.git
。 (沒有選擇「初始化這個資源庫和自述」。)
然後在你的本地庫,你可以添加新的遠程:
git remote add new-remote-repo [email protected]:your-user/new-repo.git
git push -u new-remote-repo master
爲了重置當前倉庫的時候,你只是簽出相關的提交併強制推送它。
git checkout master
git reset --hard your-hash
git push --force origin master
雖然我建議不要重寫已經發布的主控。由於其他人可能已經取決於您的master
分支,並且他們可能會出現衝突狀態,導致混淆。
我寧願在舊版本庫中創建一個指向最後工作狀態的last-relase標籤,並在Readme.md
中聲明它爲最終版本。
謝謝你的深入解釋,這正是我所需要的。除了我自己,倉庫已經暫時休眠了一段時間。所以我覺得清理是安全的。對於任何擁有我主人的人,我感到抱歉! – kequc
@ NathanLunde-Berry如果這對你有幫助,請註冊並接受:) – k0pernikus
創建新的清潔存儲庫,將其添加爲額外的遠程並推送到它? – k0pernikus
您也可以使用github的fork按鈕將自己的存儲庫分成新的存儲庫。 – k0pernikus
@ k0pernikus和舊的?及時扭轉它? – kequc