首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >. .git/log的目的是什么?

. .git/log的目的是什么?
EN

Stack Overflow用户
提问于 2016-07-10 11:22:05
回答 3查看 1.4K关注 0票数 7

在搜索git保存存储提交的位置时,我注意到了.git/log。认定:

代码语言:javascript
复制
$ ls .git/logs/
HEAD  refs 
$ diff .git/refs/ .git/logs/refs/ | head -n3
Common subdirectories: .git/refs/heads and .git/logs/refs/heads 
Common subdirectories: .git/refs/remotes and .git/logs/refs/remotes 
diff .git/refs/stash .git/logs/refs/stash 

意思是stash -是logs下唯一的唯一文件。但它并没有说明这个文件夹的基本原理。那么,.git/log的目的是什么,为什么git重复引用呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-10 11:34:11

日志、对参考文献所做更改的记录存储在这个目录中。有关更多信息,请参见git-update-ref1。如果设置了$GIT_COMMON_DIR并使用"$GIT_COMMON_DIR/logs“,则忽略此目录。

参考资料:知识库-布局

票数 1
EN

Stack Overflow用户

发布于 2016-07-10 11:28:56

它们是"reflogs“,它记录了存储库中各种引用在过去所指向的位置的历史。

请参阅git help reflog-g, --walk-reflogsgit help log中的文档。

如果您运行了diff -r,您将看到更多的差异,因为refs/文件都包含单个提交,而logs/refs包含一个历史文件。

请注意,通常情况下,查看refs/目录并不是在存储库中查找推荐的好方法。除了“松散”之外,refs也可能只存在于packed-refs中,而在refs/目录中没有相应的条目。

票数 1
EN

Stack Overflow用户

发布于 2016-07-10 11:29:55

logs目录是Git存储https://git-scm.com/docs/git-reflog的地方。刷新指示您的裁判在某个较早的时间点指向什么。即使在git commit --amendgit rebase等之后,刷新日志也会存储原始提交。即使在git pull输入数十次提交之后,git pull也会存储单个提交。Reflog使撤销某些操作变得很容易。

对于你所有的裁判和你最近所拥有的所有裁判来说,翻拍都是正常的。通过使用stash命令,您已经有了一段时间的git stash引用。即使你现在已经没有那个裁判了,雷夫记得。例如,这允许您撤消意外的分支删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38291337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档