- 7
- 0
- 约8.74千字
- 约 7页
- 2018-04-30 发布于河北
- 举报
Git 维护及数据恢复.pdf
Git 维护及数据恢复
你时不时的需要进⾏⼀些清理⼯作 ── 如减⼩⼀个仓库的⼤⼩,清理导⼊的库,或
是恢复丢失的 据。本节将描述这类使⽤场景。
维护
Git 会不定时地⾃动运⾏称为 auto gc 的命令。⼤部分情况下该命令什么都不处理。
不过要是存在太多松散对象 (loose object , 不在 packfile 中的对象) 或 packfile ,Git 会进
⾏调⽤ git gc 命令。 gc 指垃圾收集 (garbage collect) ,此命令会做很多⼯作:收集所有
松散对象并将它们存⼊ packfile ,合并这些 packfile 进⼀个⼤的 packfile ,然后将不被
任何 commit 引⽤并且已存在⼀段时间 ( ⽉) 的对象删除。
可以⼿⼯运⾏ auto gc 命令:
$ git gc --auto
再次强调,这个命令⼀般什么都不⼲。如果有 7 ,000 个左右的松散对象或是 50 个以上
的 packfile ,Git 才会真正调⽤ gc 命令。可能通过修改配置中的gc.auto 和
gc.autopacklimit 来调整这两个阈值。
gc 还会将所有引⽤ (references) 并⼊⼀个单独⽂件。假设仓库中包含以下分⽀和标
签:
$ find .git/refs -type f
.git/refs/heads/experiment
.git/refs/heads/master
.git/refs/tags/v1.0
.git/refs/tags/v1.1
这时如果运⾏ git gc , refs 下的所有⽂件都会消失。Git 会将这些⽂件挪到 .git/packed-
refs ⽂件中去以提⾼效率,该⽂件是这个样⼦的:
$ cat .git/packed-refs
pack-refs with: peeled
cac0cab 38b970a37ea1e769cbbde608743bc96d refs/heads/experiment
ab1afef80fac8e342 8ff41fc1b867c702daa24b refs/heads/master
cac0cab 38b970a37ea1e769cbbde608743bc96d refs/tags/v1.0
9 8 191f37f7b0fb9444f3 a9bf 0de191beadc2 refs/tags/v1.1
^1a410efbd13 91dbc7a0 9dd cfe9
当更新⼀个引⽤时,Git 不会修改这个⽂件,⽽是在 refs/ eads 下写⼊⼀个新⽂件。当
查找⼀个引⽤的 SHA 时,Git ⾸先在 refs ⽬录下查找,如果未找到则到 packed-
refs ⽂件中去查找。因此如果在 refs ⽬录下找不到⼀个引⽤,该引⽤可能存到
packed-refs ⽂件中去了。
请留意⽂件最后以 ^ 开头的那⼀⾏。这表⽰该⾏上⼀⾏的那个标签是⼀个 annotated 标
签,⽽该⾏正是那个标签所指向的 commit 。
数据恢复
在使⽤ Git 的过程中,有时会不⼩⼼丢失 commit 信息。这⼀般出现在以下情况下:强
制删除了⼀个分⽀⽽后又想重新使⽤这个分⽀, ard-reset 了⼀个分⽀从⽽丢弃了分⽀
的部分 commit 。如果这真的发⽣了,有什么办法把丢失的 commit 找回来呢?
下⾯的⽰例演⽰了对 test 仓库主分⽀进⾏ ard-reset 到⼀个⽼版本的 commit 的操作,
然后恢复丢失的 commit 。⾸先查看⼀下当前的仓库状态:
$ git log --pretty=oneline
ab1afef80fac8e342 8ff41fc1b867c702daa24b modified repo a bit
484a 927 031909e19aadb7fcdf19a added repo.rb
1a410efbd13 91dbc7a0 9dd cfe9 third commit
cac0cab 38b970a37ea1e769cbbde608743bc96d second commit
fdf4fc3344e67ab068f836878b6c49 1e3b1 f3d first commit
接着将 m
您可能关注的文档
- CSS属性之补丁.pdf
- CWH600矿用本安型红外测温仪.pptx
- DIY怎样给宝宝做保暖裤(双面穿的).pdf
- diy相册(快速制作旅行相册).pdf
- dota出装攻略大全.doc
- E52(贴片式感应器).pdf
- Essemtec Expert半自动贴片机.pdf
- FCCA 玩具QC次品缺陷分类判别.pdf
- FOTRIC红外热像仪为何能受到美国专业热像会议的一致好评?.pdf
- GATF对开单张纸数字测试表.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)