Github Windows“无法同步此分支”


124

我正在使用Github Windows 1.0.38.1,并且在提交后单击“同步”按钮时,出现错误

在此处输入图片说明

如何调试此问题?如果在外壳中,该怎么办?

如果我执行git pushgit pull,则同步工作正常,但是下次我想使用Github窗口进行同步时,会出现相同的错误。


1
对我来说,是因为我忘记从提交中删除非常大的文件。Github有一个最大文件大小,我已经结束了。
pmcilreavy 2014年

5
我喜欢这么多答案,在这种情况下,任何答案都可能是正确的,但没有一个是正确的。这就是你的Git。
15ee8f99-57ff-4f92-890c-b56153 2015年

1
发生此错误的原因是您没有连接到Internet。有点明显,但是...嘿。
levininja '16

1
我们在办公室遇到互联网问题,并且发生了这种情况。git shell仍然有效。
Frank Cannon

Answers:


113

当它说了那句话时,只需打开外壳并执行git status。这将使您对可能出问题的地方以及您的回购状态有一个体面的认识。

我不能为此给您一个具体的错误,因为它在Windows的Github中由于多种原因而发生,例如在更新子模块时出现一些问题等。


3
谢谢!作为涉及git和GitHub的新手,他们的问题与原始问题提问者相同,这非常有用:)出色的答案!
Dyndrilliac

5
git stash帮助了。希望我以后能继续学习GIT。
ivkremer 2014年

我重新启动了GitHub,它解决了这个问题!发生了一些合并后的冲突。
拉斐尔·费尔南德斯2014年

1
我有同样的问题,但是我使用的是映射驱动器。有了这个答案,我现在只需通过GitHub Desktop和git push通过Git 提交即可。
zanderwar

@manojlds什么时候git status只是说您的分支是最新的,什么都没提交,工作目录干净?
levininja '16

16

发生此错误是由于文件中的合并冲突。更新我的Maven项目的pom.xml但没有提交后,我遇到了它。使用

git status
error: Your local changes to the following files would be overwritten by merge:
<my project>/pom.xml
Please, commit your changes or stash them before you can merge.
Aborting

如上述文章所建议,有助于发现任何冲突的更改,因此您可以决定放弃还是提交。


我重新启动了GitHub,它解决了这个问题!发生了一些合并后的冲突。
拉斐尔·费尔南德斯2014年

11

我有同样的问题。因为发生了一些矛盾的变化,它发生在我身上。我从桌面上删除了项目的本地存储库,然后再次从github网站上对其进行了克隆(使用我帐户中的clone选项),该错误消失了。


5

当我从Visual Studio内部尝试时,我遇到了同样的问题,而shell中的“ git status”显示没有问题。但是我设法通过外壳通过“ git push”来推送本地更改。


正如rovsen所说的那样,为卡住的用户添加一些颜色:如果Windows的GitHub崩溃了,但是在Git Shell中,您看到的都是绿色,并且此git status消息“您的分支比'origin / master'提前1次提交。(使用“ git push”发布您的本地提交)”。输入git push为我解决了这个问题。我为Windows重新启动了GitHub,同步终于成功了!
micstr

4

我遇到了这个问题,发现与代理有关。我使用以下命令解决了问题:

 git config --global http.proxy %HTTP_PROXY%

2

这可能是一个极端情况,但是每次遇到此特定错误时,这是​​因为我最近在Windows中映射了驱动器,powershell但找不到它。

重新启动计算机(对于所有情况)powershell可以为我解决该错误,因为现在可以拾取新映射的驱动器。只需确保在打开github客户端之前连接到映射的驱动器即可。


同样在这里。重新启动,然后耸了耸肩
shieldgenerator7'7

我的天啊!我刚搬到新的办公空间,但映射的驱动器不再起作用。但是它们与git或我的工作文件夹无关。我只是删除了映射,然后GitHub Desktop开始工作。这必须是一个错误,因为它甚至不应该查看那些映射的驱动器?
DeborahK's

2

我有同样的问题。在我的情况下,git无法找到全局变量%HTTP_PROXY%,这仅仅是因为Windows未提供/使用它。

我通过从git config文件(位于中%USERPROFILE%\.gitconfig)中排除了变量来解决了该问题:

[http]
#   proxy = %HTTP_PROXY%

2

您最近是否更改了Windows密码,或者至少更改了用于连接代理的密码?

这是我的问题,git status无济于事。我必须更改“ .git / config”文件中的登录凭据才能克服此错误。


我从这里得到了错误。认真的说,他们应该只是在UI中正确识别代理,并提示输入新的用户名和密码。甚至是NTLM,如果他们感觉(有点)喜欢。
罗伯·格兰特

1

如果您要同步的分支已被删除,也会发生此错误。

git status不会告诉您,但是如果您尝试,则会收到“未获取此类引用”消息git pull


1

可能导致此问题的另一件事是,在启动GitHub Desktop之后映射网络驱动器或连接VHD。原因是GitHub桌面会使用可移植GIT安装中的ssh-agent建立连接,并且永远不会关闭它,即使您卸载了该应用程序。该过程始于对新驱动器的不了解,并且永不刷新,并且当它用于运行GIT命令以在您的存储库上运行时会失败,因为它不了解路径。

这种情况下的解决方案是关闭GitHub Desktop,并使用Task Manager终止正在运行的ssh-agent,然后再重新启动它。这将在需要时启动一个新的ssh-agent实例,该实例将获取新的驱动器映射等。


1

确保您尝试推送到的分支不受保护。我试图推送到受保护的分支,但和您一样失败。


0

在外壳中检查“ git status ”和“ git pull ”,找出问题所在。我的问题是config中的http.proxy节点,因此Github Windows应该更加智能,就像弹出外壳并在错误发出后给出更多提示。



0

我遇到了同样的问题,“ git status”也没有问题,然后我只是重新启动了Windows的圣GitHub客户端,它的工作原理很吸引人。


0

我遇到过同样的问题。我从GitHub Windows客户端(右键菜单)中删除了仓库,然后重新添加了它。重新添加时,我注意到我进行了约300项未提交的更改,并且它报告了内存错误。我放弃了所有更改,然后同步又开始正常工作。(菜鸟Git用户-我确信在命令行上有更好的方法可以做到这一点)


0

调试日志可能会提供一些见解。我正在使用v3.3.4.0,您的经验可能有所不同,但应该相似。从设置菜单中选择“关于Github桌面...”。单击链接以查看调试日志。就我而言,有一个非常明显的错误:

***致命错误-检测到cygheap基本不匹配-0x1157408 / 0x1167408。此问题可能是由于使用了不兼容的cygwin DLL版本。

它甚至提供了一些有用的技巧来解决该问题。

我不确定为什么错误提示中没有显示此信息,但至少它是可用的。


0

我尝试使用Android Studio提交更改并将其推送到主菜单,但是Window显示了一个弹出窗口,我必须输入Github凭据(https://github.com)。我使用我的Gmail帐户进行了注册,所以我尝试输入我的Gmail ID及其密码。很明显,Git没有我的Gmail密码,并且无法与我提供的密码匹配,所以我最终取消了推送。
当我尝试通过GitHub GUI窗口同步更改时,遇到此错误。根据git status命令,Git Shell建议将更改推送为

Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

我做了与Git Shell建议(git push)相同的操作,现在一切正常。

注意:对于刚接触git的人,您必须将路径更改为.git文件所在的文件夹,否则在每个命令上输入的Git Shell将显示错误,提示它不是git存储库。

fatal: Not a git repository (or any of the parent directories):

例如,如果您的项目D在某个文件夹的驱动器中,则在cmd更改目录时必须执行以下操作。

cd D:\someFolder     // if your project is not deep in `D`

如果它在嵌套文件夹中 D

cd D:\somefolder\someNestedFolder\nestedInNested     // if your project is not deep in `D`

如果有人像我用Google帐户注册一样知道如何从Windows登录到Github弹出窗口,并且这里只有2个字段,Github用户名,密码请告诉我。我已经解决了这个问题,但是浪费了一些时间,所以我也想知道有关登录的信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.