我遇到一些问题,Tortoise Git和GitHub在我点击" fetch时没有获取最新的提交。"无论它做什么fetch
Tortoise Git放置在Eclipse上我工作区内的远程仓库文件夹内。如果我尝试merge
,它会失败。为了解决这个问题,我想到了用fetch
中的src文件夹替换我的Eclipse src文件夹。但是,我没有检查以确保提取的文件来自最近的提交。这导致我删除了所有最近的更改并让我回到了一天。
我发现这个问题有点帮助(git fetch not fetching latest commits),但我不理解Tortoise Git和GitHub从远程存储库使用fetch
的过程。
我可以做些什么来避免将来出现此问题以及git fetch
和merge
如何真正起作用?
非常感谢你的帮助。
答案 0 :(得分:0)
我建议您运行git pull
而不是git fetch
,因为git pull
会git fetch
后跟git merge
,如果您的意图是git fetch
然后你git merge
。
当您使用pull
时,Git会尝试自动为您完成工作。 它是上下文相关的,因此Git会将任何提取的提交合并到您当前使用的分支中。pull
会自动合并提交,而不会让您先查看它们 。如果您不密切管理您的分支机构,则可能会经常发生冲突。
当您fetch
时,Git会收集目标分支中当前分支中不存在的任何提交,将它们存储在本地存储库中。但是,它不会将它们与您当前的分支合并。如果您需要使您的存储库保持最新,但在更新文件时正在处理可能会中断的内容,这将非常有用。
要将提交集成到主分支中,请使用merge
。
这应该有助于我猜。
您可能想要解决这个问题:What is the difference between 'git pull' and 'git fetch'?