在Google上有很多答案指向同一方向,但是當涉及到版本控制時,我不想嘗試任何操作,然後搞亂我的存儲庫。將git存儲庫移動到另一個github用戶
我已經在GitHub上建立了一個倉庫,並且想將它移動到另一個用戶,以便我可以關閉倉庫。一旦屬於他的賬戶,他就會邀請我回購。我想這是與客戶合作的一個常見用例 - 一旦你完成了項目,你就把它交給他們。
現在,假設這是可能的,我將如何更改項目中的本地Git設置,以便我現在正在推進/從新位置拉出?而且,通過移動回購,我會失去提交歷史記錄嗎?
在Google上有很多答案指向同一方向,但是當涉及到版本控制時,我不想嘗試任何操作,然後搞亂我的存儲庫。將git存儲庫移動到另一個github用戶
我已經在GitHub上建立了一個倉庫,並且想將它移動到另一個用戶,以便我可以關閉倉庫。一旦屬於他的賬戶,他就會邀請我回購。我想這是與客戶合作的一個常見用例 - 一旦你完成了項目,你就把它交給他們。
現在,假設這是可能的,我將如何更改項目中的本地Git設置,以便我現在正在推進/從新位置拉出?而且,通過移動回購,我會失去提交歷史記錄嗎?
以下任一將工作:
剛剛轉會回購的所有權轉讓給其他用戶,並讓他們加入你作爲一個合作者。
但是,如果有人分叉你的回購,那麼你刪除原來的,他們的叉子仍然在那裏。他們然後可以將您添加爲他們的叉式回購協作者。
或其他用戶可以簡單地克隆您的回購(完整提交),在github上創建一個新回購庫,添加新回購庫的遠程信息,並將您的回購庫升級到新庫。 (然後將你添加爲合作者)
你不會失去任何東西。這是git的要點。該項目的每個副本都有一個完整的repo副本 - 你擁有它,github擁有它,任何分叉它的人都擁有它。
遠程的配置只是在git的/ config文件的行:
url = [email protected]:mattneub/Programming-iOS-Book-Examples.git
您可以刪除舊的遙控器和創建一個新的,但最簡單的事情就是編輯該行用手。
這裏沒有神祕感。 .git文件夾和您的存儲庫直接打開您的視圖。
你爲什麼不在github內部做到這一點?只需將所有權轉讓給新用戶。轉到Github上的設置。
轉讓所有權:將此回購轉讓給另一個用戶或轉到您擁有管理權限的 組織。
這似乎並不像聽起來那麼容易 - 出現很多信息的長時間警告。如果我執行以下操作:其他用戶設置新的回購,我將本地回購地址更改爲新回購地址,推送並刪除自己的回購。這會起作用嗎?新的回購會失去提交歷史記錄嗎? – weltschmerz
是的,你的方法也可以。你不會失去任何歷史。 –
非常容易和有效。 –
要回答的問題:
你不會失去任何東西 - 甚至不提交歷史。 Git的意義在於它是分散的 - 每個擁有版本庫副本的人都擁有一切。只是新的回購。
很容易更改git設置以推送到新的存儲庫。您可以使用
git remote set-url origin git://new.url.here
或編輯.git/config
文件。
我會說,你應該:
真棒,謝謝! – weltschmerz
只需要xero在所選答案中更正某些內容。 Github文檔說:「刪除將刪除所有分支的存儲庫。請注意,這隻會影響私有存儲庫,而不會影響私有存儲庫。」因此,它看起來像上面的評論,「但如果有人叉你的回購,那麼你刪除原來的,他們的分叉仍然存在,」是不正確的,如果回購是私人的。 – JazzTpt
https://help.github.com/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility/ 但是,如果他們刪除所有的叉,文件上用戶電腦應該仍然在那裏,我想,完全的歷史吧?那麼可以創建新的存儲庫。但是爲什麼分叉,爲什麼不克隆呢?然後,據我所知,它不會與父母關聯。 –