【问题标题】:git lost master branchgit 丢失主分支
【发布时间】:2018-11-03 23:56:03
【问题描述】:

您好,我在这里有一个私人存储库。 https://github.com/Nuvelle/The-Last-Knights。 我不知道我昨晚工作发生了什么事,突然我的主人只显示了 12 小时前提交的初始提交。 没有历史,什么都没有。我从早上开始就一直在努力弄清楚。任何帮助表示赞赏

【问题讨论】:

  • 嗯,因为您的存储库是私有的,我无法检查它,但您确定您检查的是正确的分支并且您已将提交推送到 GitHub?
  • 是的,我正在努力掌握。我已经使用master 2 年了。但是现在 master 只显示 initail commit 并且也是在 12 小时前创建的。没有历史,没有别的
  • 这样的问题如何赢得投票我永远不会知道...根据您告诉我们的内容,我们无法知道发生了什么。以前有什么?您运行了哪些命令?你强推吗?你当地的master 是这样的吗?如果不是,它看起来如何?请阅读How to Ask
  • 我假设您目前在本地计算机上没有存储库的克隆?这听起来有点奇怪......
  • 我使用 gitkraken gui。我做了一个力拉。我试图在我的第二台笔记本电脑上拉我的回购。我不知道发生了什么。如果我知道运行了什么命令,我就会知道自己发生了什么。不?其次,我尝试 reflog 它只显示一个提交。和母校以前喜欢300个左右的文件。我的另一台电脑上确实有一个克隆。但我想弄清楚发生了什么以及为什么没有历史。

标签: git github master


【解决方案1】:

可能的解释是 git push --force 重置 master 分支。

虽然本地 reflog 可能只显示一个提交,但您可能会在 GitHub 一侧找到旧的 remote master 分支状态的痕迹,带有“穷人的 reflog”,也就是推送事件(GitHub Events API)。
请参阅“Does github remember commit IDs?”:在master 分支上查找任何最近的推送事件:you can then fetch that commit(及其相关历史记录)返回到您的本地存储库。
如果没有,GitHub support 会查看以恢复您之前的内容。

OP Azwar Habib 添加了in the comments

git fsck --full --no-reflogs 给了我所有丢失提交的列表。
然后从那里git reset -- hard [commit] 将我的分支恢复到那个提交。

然后需要强制推送以在远程端恢复相同的历史记录。

【讨论】:

    猜你喜欢
    • 2014-01-15
    • 2022-11-02
    • 2023-02-04
    • 2016-06-15
    • 2022-01-22
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多