我使用的是laravel 4框架,为了保持最新状态,我添加了一个指向上游的远程指向框架回购并运行git fetch
。问题在于它在本地回购中拉动了整个框架的历史。 有什么方法可以删除上游历史记录吗?Git删除远程历史
回答
嗯,这是git的整点 - 每一个仓库克隆平等。不必担心整个历史记录 - git在将整个历史存储在git对象存储中时非常高效(假设git gc
有时会执行一次,它就是这样)。
压缩git对象存储的大小(保存在.git
目录下)超过树顶部结帐大小时,这种情况比较少见。
换句话说,通过删除远程历史记录(几乎没有几个百分比),你不会节省很多。如果你烦恼中看到许多远程分支机构的条件(但它确实不应该!),你可以简单地删除该远程:
git remote rm upstream
,你不会看到它或它的分支了。
我非常怀疑你会通过使用浅层克隆(--depth=1
)来节省大量空间,但是你会看到很大的缺点 - 浅层克隆无法实现。所以,如果你想做自己的提交,不要使用浅层克隆。
如果您不想要整个历史记录,请使用git fetch
和git clone
的设置--depth
选项。此外,如果你有兴趣只有一个分支,那么你可以克隆时使用--single-branch
选项:
git clone --single-branch --branch=master --depth=1 git://......
好的,谢谢,这是很好的知道,但我怎么能摆脱现在的历史? – silkAdmin
只需再次克隆。 –
- 1. Git删除历史提交
- 2. 删除/折叠git历史
- 3. git rebase可以彻底删除远程历史吗?
- 4. 从git历史记录中删除提交(永远)
- 5. 远程Git添加隐私/历史
- 6. Git - 从提交历史中删除种子回购的历史
- 7. 从历史Git删除合并
- 8. 删除提交历史git的
- 9. 从本地没有的远程git历史记录中删除提交
- 10. 如何从git中删除远程分支及其提交历史记录?
- 11. 从git历史记录中删除已删除的文件
- 12. 删除远程犯git的
- 13. git:复制远程分支历史(.git/logs文件夹)
- 14. 挤在git历史上相距甚远
- 15. 远程历史记录
- 16. 从Git历史记录中删除具有历史记录的特定文件
- 17. 删除文件(历史)
- 18. 删除市场历史
- 19. 删除搜索历史
- 20. GWT,删除历史令牌
- 21. 删除历史 “开始” -activity
- 22. 删除SVN历史版本
- 23. tfs 2010 - 删除WorkItem历史
- 24. Git删除不在远程/远程的远程分支
- 25. 删除应用程序 - 删除状态历史?
- 26. Git推送所有父提交到远程(即重写远程历史记录)
- 27. 用私有远程存储库重写git历史记录
- 28. git推到远程并失去所有的历史
- 29. Git - 意外覆盖远程仓库的整个提交历史
- 30. 编辑git历史
感谢您的见解,在我的情况下,git remote rm上游stuill留给我的历史,我发现一个散步虽然会将它添加为答案 – silkAdmin