Tortoise Git 未获取最新提交

Tortoise Git not fetching latest commit

我在使用 Tortoise Git 和 GitHub 时遇到了一些问题,每当我单击 "fetch." 无论它做什么 fetch Tortoise Git 放置在 Eclipse 上我的工作区内名为 remote repo 的文件夹中。如果我尝试 merge,它会失败。为了解决这个问题,我想到用 fetch 中的 src 文件夹替换我的 Eclipse src 文件夹。但是,我没有检查以确保获取的文件来自最近的提交。这导致我删除了所有最近的更改并让我倒退了一天。

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

以后我该怎么做才能避免这个问题?git fetchmerge 是如何真正发挥作用的?

非常感谢您的帮助。

我会推荐你​​ 运行 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'?