【问题标题】:Tortoise Git not fetching latest commitTortoise Git 没有获取最新的提交
【发布时间】:2018-07-29 04:55:11
【问题描述】:

每当我单击“获取”时,我遇到了 Tortoise Git 和 GitHub 无法获取最新提交的问题。不管它做什么fetchTortoise Git 都放在一个名为远程仓库的文件夹中,该文件夹位于我在 Eclipse 上的工作区中。如果我尝试merge,它会失败。为了解决这个问题,我想用fetch 中的src 文件夹替换我的Eclipse src 文件夹。但是,我没有检查以确保获取的文件来自最近的提交。这导致我删除了我最近的所有更改并让我倒退了一天。

我发现这个问题有点帮助(git fetch not fetching latest commits),但我不明白 Tortoise Git 和 GitHub 使用远程存储库中的fetch 的过程。

以后我可以做些什么来避免这个问题?git fetchmerge 是如何真正起作用的?

非常感谢您的帮助。

【问题讨论】:

  • 你的环境是什么?您是在尝试完全在 Eclipse 中管理 git repo,还是使用控制台工具?
  • @sorak 我正在使用 Tortoise Git 来管理存储库。

标签: git github tortoisegit git-fetch


【解决方案1】:

我建议你运行git pull 而不是git fetch,因为git pull 执行git fetch 后跟git merge,也就是说,如果您的意图是git fetch,那么您是git merge

  • 当您使用 pull 时,Git 会尝试自动为您完成工作。 它是上下文相关的,因此 Git 会将所有拉取的提交合并到您当前工作的分支中。pull 自动合并提交,而无需您先查看它们。如果您不仔细管理您的分支机构,您可能会经常遇到冲突。

  • 当您fetch 时,Git 会从目标分支收集您当前分支中不存在的所有提交,并将它们存储在您的本地存储库中。但是,它不会将它们与您当前的分支合并。如果您需要使存储库保持最新,但正在处理可能会因更新文件而中断的事情,这将特别有用。 要将提交集成到您的主分支中,请使用 merge

我猜这应该会有所帮助。

您可能想解决这个 SO 问题:What is the difference between 'git pull' and 'git fetch'?

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 2023-02-22
    • 2021-05-27
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多