我需要使用壹個命令, 把工作中所有git倉庫都提交到自己的阿裏雲或Dropbox上, 在不同的地方使用它.
使用git配合Dropbox的另外壹個好處是, 由於 .gitignore 忽略了許多公***資源, Dropbox只需要儲存很少的內容:
如圖, 我的所有項目文件有8.75GB, 但是Dropbox上只保存著430MB的倉庫, 並且還擁有Git的版本管理功能.
如果妳有和我壹樣的需求, 這篇文章會幫到妳.
首先得確保當前有 Nodejs 環境, 安裝 merge-sub-gits
思路很簡單:
其中添加 -l 參數會打印重命名日誌
每次都需要使用 merge-sub-gits 命令包括 git 提交操作很是繁瑣, 我們可以在 ~/.bash_profile 文件中添加以下內容:
我們平時會有需要把工作文件放入各類網盤中, 方便在公司和家裏進行同步, 但是Dropbox\iCloud等網盤都沒有給予文件夾忽略和更細膩的Git的文件歷史.
例如壹個React前端項目大概有幾百MB, 如果忽略 node_modules 文件夾就只剩下十幾MB.
我們可以把所有工作和電腦環境相關的資料都放入壹個work文件, 使用 merge-sub-gits 把改文件夾的內容同步到網盤中:
我們已經在Dropbox中創建了壹個倉庫, 並且clone到了本地, 接下來我們拷貝所有需要備份的文件都放入 ~/backup-all 文件夾中, 然後繼續下面的操作:
如前文所述, 通過.gitignore文件和git的壓縮, 把8.75GB的內容, 變為430MB進行網盤管理, 並且還有Git的版本管理功能.
由於Git倉庫中保存了許多歷史信息, 隨著長時間的使用, Git 倉庫會緩慢的逐步增大, 由於我們所有子項目都保留著自己的Git歷史, 所以如果有壹天根Git倉庫太冗余了, 我們只需要刪除Dropbox的Git,重新提交即可.
如果曾經在根git項目中使用過 git commit , 會把子git項目標記為忽略提交
這種情況需要清空git記錄:
歡迎 Star: github.com/ymzuiku/merge-sub-gits