【问题标题】:git fetch does not work - missing commit from another branch?git fetch 不起作用 - 缺少来自另一个分支的提交?
【发布时间】:2014-02-11 06:44:36
【问题描述】:

我有 2 个存储库:一个使用 Netbeans 配置的本地存储库和一个远程存储库。

我在它们两个中都有相同的提交,但有一个例外:远程存储库有一个额外的更新提交。

我想使用 Netbeans 将此提交拉到我的本地存储库。 所以,我右键单击我的项目,Git->Remote->Pull,选择正确的分支,然后按 Finish。 Netbeans 报错:

缺少提交 38b55ec9cbd31cddeedec412fa9d66e2e979a3b4

我搜索了此提交,但在我的本地存储库和远程存储库中都找不到我想要提取的分支。于是,我在其他分支中搜索,最后在完全不同的分支中找到了它。

我不会拉那个分支。为什么 Git 需要来自完全不同的分支的提交?

我使用 Netbeans 维护我的本地存储库,因此在我的本地存储库中,我认为我无法访问命令行。有什么方法可以强制 Git(Netbeans 版本)进行此操作?

编辑:同时,我安装了一个 git 客户端。当我执行时:

git log --full-history

它没有显示提交 38b55ec9cbd31cddeedec412fa9d66e2e979a3b4。这是我的本地存储库中显示的内容(稍加编辑) - 远程存储库有一个较新的提交,但它也不是必需的提交:

C:\Projects\Project1\mavenized\Front>git log --full-history commit 5cb2bc0ec4cc36b66422a5ed0b314343cded8e96 作者:#myname# 日期:周五 2014 年 1 月 31 日 08:29:31 +0200

Front - Live version: 30-JAN-14

提交 6eb8a8b419cece4065eceafe733f1718cb4debec 作者:#myname# 日期: 2014 年 1 月 22 日星期三 14:30:37 +0200

Front - Live version: 21-JAN-14

提交 fcba1824dc8ef2bcad98d63e00b1f1a6af2495dc 作者:#myname# 日期: 2013 年 12 月 18 日星期三 16:58:52 +0200

Front - First Commit

【问题讨论】:

  • 仅供参考 git 完全基于 .git 文件夹中的文件。任何独立的 git 客户端或 git 命令行程序都可以直接使用,如果您可以找到 netbeans 放置它的位置。它可能位于源文件的根目录附近,并且可能是一个隐藏文件夹。
  • 我会尝试安装一个独立的客户端。是的,Netbeans 将 .git 文件夹放在源文件夹的根目录中。希望命令行能帮助我更多地了解这个错误。

标签: git netbeans


【解决方案1】:

this answer 中所述,您的 git 存储库需要完整的历史记录,任何远程(拉/取)命令才能正常工作。

git log --full-history 应该显示该提交。

最简单的解决方案是重新克隆存储库并将其导入您的 NetBeans 工作区。

【讨论】:

  • 这实际上是主要问题:它没有在我的本地或远程存储库中显示该提交。只有当我切换到另一个不应该以任何方式干扰我现在工作的分支的分支时,我才能看到那个提交。我用命令的输出更新了我的问题。
  • @user1691018 如果你重新克隆那个远程仓库,你还会看到同样的错误信息吗?
  • 是的,重新克隆似乎可以解决问题。感谢VonC!但我仍然想知道为什么错误...
  • @user1691018 我同意。这个线程 (cms.arstechnica.com/civis/viewtopic.php?f=20&t=1213703) 提到了磁盘空间问题来解释损坏,但我怀疑你不是这种情况。
  • 不,磁盘空间不是问题。我会看看你提到的线程。有问题的分支是专门用cherry picks维护的,我知道这会导致问题,但我做了很多次而没有遇到错误。加上我想说的没有显示任何可疑内容的日志。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 2016-06-04
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
相关资源
最近更新 更多