当我使用时,我在回购中积累了悬空提交和悬空点。这是正常的预期行为吗?(我想答案是肯定的。)
例如,使用GitHub For Windows程序,我创建了一个新的回购程序,提交了它在创建回购时免费提供给我的2个文件(.gitattributes和.gitignore),然后将回购“发布”到GitHub。所有的魔法,一切都很好,一切都很简单。但git fsck告诉我,我有一个悬空的承诺:
C:\Users\Robert\Documents\GitHub\test1 [master]> git fsck
Checking object directories: 100% (256/256), done.
dangling commit e67c154ce480637b51f5afb692688e16af1a7720好的,让我们向git询问有关悬空提交的一些细节:
C:\Users\Robert\Documents\GitHub\test1 [master]> git log --oneline e67c
e67c154 Auto-generated backup commit: 05/11/2014 16:50:05 +00:00这似乎是某种“自动生成的备份提交”(谢谢GitHub给了我一个像样的评论)。我已经看过其他悬空提交的方式,它们似乎是相同的。
我可以使用git show查看悬空气泡的内容,这些内容似乎都是我识别的文件。
那么,回到原来的问题:这是(累积的,悬空的提交和气泡)预期的行为吗?
发布于 2014-05-11 17:52:14
似乎是某种“自动生成的备份提交”。
这是一个Windows (或多或少)自动保存您的工作目录的GitHub。当一个git新手搞砸了他的回购时,这个特性极大地帮助了他们的支持团队。由于这些备份提交,支持团队能够“恢复”他们未提交的工作。
累积悬空提交和气泡预期的行为?
是的,这是一种预期的git行为。每次打开文件或部分更新文件时,都会出现悬空。每当您重新创建分支或重写历史记录时,这都会导致提交。
这就是git“默认安全”的一部分。所有东西都是持久化的,并且通过reflog (或git的输出)可以访问以前的状态/快照。
根据配置设置(请参阅git gc文档)或下次使用git gc命令时,将自动清除这些悬挂的对象。
https://stackoverflow.com/questions/23595445
复制相似问题