【问题标题】:Git fetch says "success" but nothing is downloadedGit fetch 说“成功”,但没有下载任何内容
【发布时间】:2017-09-18 15:18:08
【问题描述】:

我在使用 git 时遇到了一些严重问题,在网上找不到任何解决方案。我是新用户,所以我可能做错了什么......

我在 Github 上托管了一个存储库,我团队中的某个人刚刚推送了一个新的提交。在 Windows 上使用 Git GUI,我尝试从 Github 获取新的提交。 Git 表示获取成功,但没有找到/下载任何更改。

我尝试为 Github 创建一个新的远程并使用它。 (例如 git@github.com:MyUserName/MyProject)。当从这个远程获取时,Git 说成功并将每个分支都列为新更新的。但是,没有一个分支被下载。如果我再次运行 fetch,则会显示相同的消息。

几天前我在同一个存储库中遇到了同样的问题。我通过删除我的本地存储库并从 Github 克隆存储库来“修复”它。但显然这只是一个临时解决方案,因为问题又回来了。

非常感谢任何指导!

已解决:您是对的,我需要在获取更改后进行合并。 (遗憾的是,Git GUI 不允许拉动)我假设 Git GUI 曾经自动执行此操作,但也许我在某些时候不小心更改了选项。感谢您提供所有信息!

【问题讨论】:

    标签: git github


    【解决方案1】:

    正如另一个答案所说,fetch 只是将新提交添加到您的历史记录中,但仅更新“远程跟踪分支”。这些是对新提交的引用,但不是您处理的本地分支。

    如果你想用远程跟踪分支的内容更新你的本地分支,你想使用git pull

    我建议最好使用git fetch 而不是git pull,然后使用git log --allgitk --all 或其他检查历史记录的方式检查远程分支上发生了什么变化。当您知道您将带来哪些更改及其性质后,您现在可以git merge origin/some-branchgit rebase origin/some-branch 更新本地分支以包含更改。

    【讨论】:

    【解决方案2】:

    fetch 完全符合您的情况:它将更改拉入您的本地 Git(同步存储库),但不会将这些更改合并到您的分支中,也不会更新您的工作副本。我相信您要查找的动词是pull

    What is the difference between 'git pull' and 'git fetch'?

    【讨论】:

      【解决方案3】:

      通常,拉 = 提取 + 合并。 有时,您可能在“获取”之后看不到任何更改。您必须使用“拉”来查看真正的更新。我不知道根本原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-20
        • 1970-01-01
        • 2021-03-20
        相关资源
        最近更新 更多