《Pro Git 2》学习笔记_Chapter 10_Maintenance_DataRecovery_RemoveObject
2014-11-17 21:39
363 查看
Maintenance
Git可以通过自动垃圾回收的方式,有效的利用存储空间,一般.git/objects/目录下的对象是以松散的方式存放的,但当这些松散对象的个数超过7000时,git会自动进行压缩,形成pack文件,当pack文件多于50个时,Git回把多个pack文件压缩成为一个pack文件
此外,垃圾回收的功能还会对.git/refs/中的内容进行压缩,存入.git/packed-refs文件中。
也可以手动运行Git的垃圾回收功能:git gc (gc表示garbage collection)
还可以设置自动垃圾回收:git gc --auto,至于触发回收动作的条件可以通过配置gc.auto各gc.autopacklimit来进行设定
DataRecovery
当你不小心失支了对某些commit对象的引用时,可以尝试的恢复办法有:
查看reflog日志:git reflog 或 git log -g ,并重新建立分枝索引
当reflog 也不可用时,可以使用:git fsck --full 对git仓库的文件系统进行完整性检查,列出那些没有被引用过的对象,从而重新获得它们
reflog记录每一次HEAD改变时的值,提交或改变分枝时,reflog都会更新
RemoveObject
这一节太难了,原书510页,用的时候就重看吧。
记几句主要的命令来作一个思维串引:
git rm <to-be-deleted-file-name>从仓库中删除文件
git count-objects -v显示仓库中对象的统计信息
git verify-pack <packfilename>查看打包文件的内容
git rev-list
git filter-branch
git prune --expire now删除仓库中过期的对象
Git可以通过自动垃圾回收的方式,有效的利用存储空间,一般.git/objects/目录下的对象是以松散的方式存放的,但当这些松散对象的个数超过7000时,git会自动进行压缩,形成pack文件,当pack文件多于50个时,Git回把多个pack文件压缩成为一个pack文件
此外,垃圾回收的功能还会对.git/refs/中的内容进行压缩,存入.git/packed-refs文件中。
也可以手动运行Git的垃圾回收功能:git gc (gc表示garbage collection)
还可以设置自动垃圾回收:git gc --auto,至于触发回收动作的条件可以通过配置gc.auto各gc.autopacklimit来进行设定
DataRecovery
当你不小心失支了对某些commit对象的引用时,可以尝试的恢复办法有:
查看reflog日志:git reflog 或 git log -g ,并重新建立分枝索引
当reflog 也不可用时,可以使用:git fsck --full 对git仓库的文件系统进行完整性检查,列出那些没有被引用过的对象,从而重新获得它们
reflog记录每一次HEAD改变时的值,提交或改变分枝时,reflog都会更新
RemoveObject
这一节太难了,原书510页,用的时候就重看吧。
记几句主要的命令来作一个思维串引:
git rm <to-be-deleted-file-name>从仓库中删除文件
git count-objects -v显示仓库中对象的统计信息
git verify-pack <packfilename>查看打包文件的内容
git rev-list
git filter-branch
git prune --expire now删除仓库中过期的对象
相关文章推荐
- 《Pro Git 2》学习笔记_Chapter 10_Git Objects
- 《Pro Git 2》学习笔记_Chapter 10_remote & packfiles&refspec
- 《Pro Git 2》学习笔记_Chapter 10_Tree Objects&Commit_Objects
- 《Pro Git 2》学习笔记_Chapter 1
- 《Pro Git 2》学习笔记_Chapter 2
- 《Git Pro 2》学习笔记_Chapter 10_Object Storage
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之二
- Pro Git学习笔记(一)——起步
- Pro Git学习笔记(2)
- pro git学习笔记 2 分支
- Pro Git学习笔记(一)
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之四
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之五
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之一
- ARMv8-A系列学习笔记(8)--Chapter 10 AArch64 Exception Handling
- 《Git Pro 2》学习笔记_Chapter 10_reference_HEAD_tags
- 【C Prime Plus】学习笔记,Chapter 10,数组初始化问题
- Pro Git学习笔记(二)——Git 基础
- 《APUE》Chapter 10 Signals (学习笔记加上自己的代码)
- pro git学习笔记(1)