git - 发生内部错误无法恢复提交,因为它有 0 个父项,仅支持只有一个父项的提交

标签 git github

提交4c5d2e9a3697dda68d86db5ee6ef188669edbc4d

作者:洛卡纳斯 2014-03-11 00:51:58

提交者:lokanath 2014-03-11 00:51:58

分支:master

第一次提交

但是当我执行提交恢复时,我收到这样的错误

“发生内部错误 无法恢复提交“4c5d2e9a3697dda68d86db5ee6ef188669edbc4d”,因为它有 0 个父项,仅支持只有一个父项的提交”

谁能告诉我为什么会这样?

最佳答案

您只有一 (1) 次提交,即初始(根)提交。

恢复提交需要将提交与其之前的父提交进行比较,以查看发生了什么变化。这需要绝对最少两 (2) 次提交,以便检查一些提交(复数)以了解它们之间发生了什么变化。

因此,您不能恢复一次初始提交。 (这只是 git 的限制——没有版本控制系统的原因,人们不应该能够进行第二次提交来撤消第一个提交,以便 checkout 完全为空——但 git 本身不太擅长处理空目录。然而,即使 git 人员在 git 中修复了这个问题,以便您可以恢复最初的提交,结果无论如何都会是一个完全空的 checkout ,这不是很有用。)

(如果您希望初始提交看起来有所不同,您可以做的是修改初始提交。)

关于git - 发生内部错误无法恢复提交,因为它有 0 个父项,仅支持只有一个父项的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22447940/

相关文章:

Git 从另一个存储库中 pull 出一个分支?

git - GIT 可以像 SVN 一样运行吗?

git - 向 GitHub 添加 SSH key 的目的是什么?

Git 哲学 : how to get "master" branch to "production" branch?

security - 在 github、bitbucket 等存储库站点上托管敏感数据有多安全?

php - 阻止在 PHP Composer 中安装包以使用包的分支

git 显示已添加到 gitignore 的文件的更改?

git - git 提交消息中的 Jira 问题编号

git - 如何重置 git 项目中的所有内容并作为一次提交推送

github - 在合并配置之前如何测试dependabot