运行 git gc 会丢失 commit 么?

2015-02-06 08:33:51 +08:00
 laomutuo

问下,呵呵
git gc后好像.git小了不少:(

2695 次点击
所在节点    程序员
7 条回复
zealic
2015-02-06 08:38:08 +08:00
不会,你可以把 gc 理解为吧很多文件压缩为一个,一些没有被引用的文件被删除了。
laomutuo
2015-02-06 08:42:17 +08:00
@zealic 没有被引用的文件,指没有被引用的commit么?
chinawrj
2015-02-06 08:43:24 +08:00
没有被引用的commit会被删除掉。如果你不知道神马是未被引用,那就毫无压力执行gc吧
zealic
2015-02-06 08:46:27 +08:00
@laomutuo 比如你有 commit 1->2->3,然后觉得3有问题,通过 git commit --amend 修改了下,得到 3-1,那么这其中的3就是未被引用的 commit。
laomutuo
2015-02-06 08:56:12 +08:00
@zealic 还有其他哪些未引用commit呢?
yyfearth
2015-02-06 08:57:41 +08:00
比如你reset 或者 删掉了一些branch或者rebase之类的
一些commit就被删掉了 但是文件还在.git里面
gc就是吧哪些东西清理掉

如果你误操作删掉了一些commit 你 gc 的话 那就找不回来了
zealic
2015-02-06 08:59:18 +08:00
@laomutuo
楼上已经说的很全面了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168682

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX