[英]How to modify old, pushed commit, with new commits pushed after it
我正在將一個 repo 從 gitlab 遷移到 github,因為我們的 repo 在那里用完了空間,而且我們似乎無法擴展它的大小。 因此,很自然地,我在 github 上創建了新的 repo,我將 ssh 地址添加到了我本地 repo 實例上的現有遙控器,然后我嘗試調用
git push --mirror github
讓它運行幾個小時后,它失敗了。 在研究了為什么會這樣之后,我發現它可能太大而無法一次向上推送,我應該遍歷一批提交並一次推送一個。 在此過程中,對於添加 .gitignore 和 .gitattributes 文件的第一次提交,一切都完美無缺。
然而,在這一點之后,我們從實際項目中推送文件,並且我們已經推送了對於 github 來說太大但對於 gitlab 來說不是太大的文件,因此此時它們不會被表示在 LFS 中進行跟蹤.
基本上,我想回溯兩年的提交,將 LFS 跟蹤添加到這些文件中,在添加文件之前插入此提交,然后讓它更新剩余的樹。
我已經嘗試將我的 HEAD 重置回那個點,用新的 LFS 數據修改 .gitignore,並在添加文件之前將其推高。 但是,在嘗試這條路線時,我現在在嘗試推送舊提交時遇到錯誤,因為它說舊提交已過時並且需要拉取。
我所要求的甚至可能嗎?
Git LFS 提供了一個命令來遷移你的歷史git lfs migrate
如果您的大文件是 zip、jpg、png
首先檢查試運行:
git lfs migrate info --everything --include="*.zip,*.png,*.jpg"
然后去吧
git lfs migrate import --everything --include="*.zip,*.png,*.jpg"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.