我們需要將Git Repository從一個網絡導入到另一個網絡。對於安全性提升,它必須作爲文本文件傳遞,它表示內部文件的可讀版本(存儲庫中的所有Blob,或者至少包含兩個Blob之間的所有差異)。從.git
目錄創建tar並不好(安全掃描不可讀),也不是git bundle
格式。Git - 從補丁文件重建/克隆
這個應用程序是補丁文件(安全掃描知道要在補丁的base64中處理二進制文件)。它適用於線性回購,但我們也需要合併提交。我們想過腳本會在源做:git log -p -m --parents --first-parent > file
,並在DEST將解析該文件,並會:
- 應用它承諾通過
git am
- 承諾在父母一方的每個分支(第二個孩子)將創建分支(名稱
branch<hash-of-first-commit>
) - 每個合併會做:
git merge <branch-name> --no-commit -s ours
,比第一父的diffgit apply
,比git commit ...
是後W只需要將分支重命名爲實名,然後完成。我沒有看到缺陷,但尚未實施。
問題:
- 是否有存在的,爲此,工作液(腳本工具)?
- 如果沒有 - 療法是我描述,這將使它不準確反映它們之間的正確連接的提交過程中的任何缺陷(我們不必須保持原有的提交哈希)?