Git fetch说"成功",但没有下载

May*_*the 4 git github

我在使用git时遇到了一些严重的问题,并且无法在线找到任何解决方案.我是新用户,所以我可能做错了...

我在Github上托管了一个存储库,我团队中的某个人只是推了一个新的提交.在Windows上使用Git GUI,我试图从Github获取新的提交.Git说获取是成功的,但没有找到/下载的更改.

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

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

任何指导都非常感谢!

求助:你是对的,我需要在获取更改后合并.(可悲的是,Git GUI不允许拉动)我假设Git GUI曾经自动执行此操作,但也许我偶然在某些时候更改了选项.感谢您所提供的所有信息!

Mat*_*att 6

fetch确切地说,在您的情况下发生了什么:它将更改下拉到您的本地Git(同步存储库),但不会将这些更改合并到您的分支中,也不会更新您的工作副本.我相信你要找的动词是pull.

'git pull'和'git fetch'有什么区别?


Ada*_*ruk 6

正如另一个答案所说,fetch只是将新提交纳入您的历史记录,但只更新"远程跟踪分支".这些是对新提交的引用,但不是您使用的本地分支.

如果要使用远程跟踪分支具有的内容更新本地分支,则需要使用git pull.

我想提醒的是,最好是git fetch代替git pull,然后检查发生了什么变化上的远程分支git log --allgitk --all或检查的历史的一些其他方式.当您了解将要引入的更改及其性质时,您现在可以git merge origin/some-branchgit rebase origin/some-branch更新本地分支以包含更改.