我是git的初學者,我使用具有文件大小限制的github。所以我有幾個提交,我想推他們到遠程回購,但我不能因爲文件大小。我刪除了文件並做了一個新的提交,但它仍然不允許我(因爲之前的提交) 有沒有辦法通過重置或擦除以前的提交併使全新或任何其他方式來解決此問題?謝謝!從提交中刪除文件(由於github上的文件大小)
1
A
回答
1
的關鍵,在Git中向後移動在提交歷史是
git reset <commit>
比方說,你的git圖表的外觀像這樣:
* commit 3 (HEAD, branch-1)
| Adding a large file
|
|
* commit 2 (branch-2)
| Some changes
|
|
* commit 1
如果你有分支1簽出在abov例如,做一個git reset branch-2
,分支-1將移動到提交2,大文件將成爲「未跟蹤文件」。對跟蹤文件的所有更改都將在「更改不進行提交」。一旦你執行重置,你可以通過「添加」或「檢出」文件來創建一個新的提交,只要你認爲合適。這個新的提交將不再有歷史上的大文件,你應該能夠推送到你的遠程倉庫。
你可以找到更多關於git reset here的信息。
在重置時,如果以前的提交沒有指向它們的分支,它們將不再可見。如果您覺得您可能需要這些舊提交,則可以在我們的示例中創建指向提交3的臨時分支。或者,您可以使用git fsck
再次查找舊提交。
1
你可以從回購的歷史記錄中刪除那個大文件與BFG repo cleaner tool
$ java -jar bfg.jar --strip-biggest-blobs 500 some-big-repo.git
$ cd some-big-repo.git
$ git reflog expire --expire=now --all
$ git gc --prune=now --aggressive
$ git push
相關問題
- 1. 從github上刪除文件
- 2. 從上次提交中刪除文件
- 3. 刪除小於cetain大小的文件並提取文件名
- 4. 如何從Github中刪除已提交的文件?
- 5. Git - 刪除大文件的提交
- 6. github從提交歷史中刪除單個文件
- 7. 撤消Git提交由於大文件
- 8. 從提交中刪除文件
- 9. 從所有提交中刪除文件
- 10. 如何從GitHub上的提交歷史中刪除提交?
- 11. 從git repo提交中刪除已刪除的文件
- 12. 如何從GitHub中刪除文件?
- 13. Github,文件太大已被刪除。
- 14. 在git rebase -i中刪除提交不會減小.git文件夾的大小
- 15. 在Google Code上刪除提交的測試文件夾/文件?
- 16. 如何刪除文件大小小於某個特定大小的文件夾中的所有文件(字節)
- 17. 如何刪除bitbucket中的舊提交中的大文件
- 18. Grit在提交中刪除文件
- 19. 刪除GIT中一個文件提交
- 20. 在舊提交中刪除文件
- 21. 大文件沒有得到刪除從提交
- 22. 由於文件大小導致Laravel + AJAX文件上載失敗
- 23. GitHub中的幻影文件提交
- 24. 在github上刪除主文件
- 25. 從文件上傳中刪除大文件
- 26. 刪除文件的一部分提交
- 27. 從分支中刪除文件並將其提交回Github/Git中的主文件夾?
- 28. 有沒有辦法刪除github上的所有文件和提交
- 29. 從GitHub上的Pull請求中刪除文件
- 30. 從github上的推送代碼中刪除文件
我相信這已經被問到=)。也許:http://stackoverflow.com/questions/1143796/git-remove-a-file-from-the-repository-without-deleting-it-from-the-local-filesy –