我有幾個本地git倉庫,這是邏輯上分離的項目。當每個項目完成後,我想讓整個存儲庫成爲「存檔」存儲庫的一個分支,以防將來出現錯誤。因爲最終每個存儲庫都將成爲歸檔存儲庫的一部分,所以我認爲我會從一開始就將每個存儲庫推送到歸檔存儲庫的遠程副本。你可以推動整個git倉庫到另一個(遠程)倉庫的分支
所以,我有不同的版本庫:存檔,A,B,......我想將它們推送到遠程,這將是這樣的:
archive -- A as a branch
\---B as a branch
等。
我已經通過git的文檔搜索,並上了網,並具有以下別名想出了這樣做的:
backup = "!for br in $(git branch --column|sed 's/*//';); do git push archive ${br}:$(basename $PWD)/${br}; done"
所以,現在,從A說,我可以這樣做:
git remote add archive ssh://[email protected]/.../archive.git
git backup
這會將A中的每個分支X都推送到遠程分支A/X上。不幸的是,A中的每個分支都是遠程存儲庫上的一個單獨的斷開連接的分支,所以我在A中失去了歷史,而這並不是我想要的。
有沒有辦法將A上的所有分支推送到遠程回購的單個分支(或者說是一棵樹)?或者我的整個方法被誤導了,還有更好的方法來做到這一點?
乾杯, 安德魯
爲什麼不使用'git tag'正確標記不同項目的穩定版本? –
您的最終產品將是一個「回購充分的回購」,其中,從「回購充滿回購」中獲得「回購Q」,您必須首先複製整個回購倉庫,然後去掉所有不需要的回購倉庫只有repo Q,然後將所有分支重新命名爲原來的名稱。這不是git的設計目的,它會變得尷尬和緩慢。最好將你的repo歸檔到(dir |文件夾)-full-of-repos。然後,爲了將「repo Q」從「(dir | folder)充滿repos」中取出,您只需複製「dir/repoQ」即可完成。 – torek