Github Windows'无法同步此分支'

时间:2013-03-13 14:08:25

标签: git github github-for-windows

我正在使用Github Windows 1.0.38.1,当我在提交后单击“同步”按钮时,我收到错误

enter image description here

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

如果我执行git pushgit pull,同步工作正常,但下次我想使用Github窗口同步时,我会收到同样的错误。

17 个答案:

答案 0 :(得分:115)

当它说出来时,只需打开shell并执行git status。这样可以让您对错误的原因和回购状态有所了解。

我不能给你一个特定的错误,因为它出现在Github for Windows中有很多原因,比如说在更新子模块等方面存在一些问题。

答案 1 :(得分:16)

由于文件中存在合并冲突,因此出现此错误。在我更新了Maven Project的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

正如上面的帖子建议帮助找到任何有冲突的变化,你可以决定放弃或提交。

答案 2 :(得分:11)

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

答案 3 :(得分:4)

我遇到了这个问题,发现它与代理有关。我使用此命令修复了问题:

 git config --global http.proxy %HTTP_PROXY%

答案 4 :(得分:4)

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

答案 5 :(得分:2)

这可能是一个边缘情况,但每次我遇到此特定错误都是因为我最近在Windows中映射了一个驱动器,powershell无法找到它。

计算机重启(所有事情)为我修复了错误,因为powershell现在可以获取新映射的驱动器。只需确保在打开github客户端之前连接到映射的驱动器。

答案 6 :(得分:2)

我遇到了同样的问题。在我的情况下,git找不到全局变量%HTTP_PROXY%,只是因为Windows没有提供/使用它。

我通过从git配置文件(位于%USERPROFILE%\.gitconfig)中排除变量来解决它:

[http]
#   proxy = %HTTP_PROXY%

答案 7 :(得分:2)

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

这是我的问题,git status无法帮助我。我必须在&#34; .git / config&#34;中更改我的登录凭据。文件以通过此错误。

答案 8 :(得分:1)

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

git status不会告诉你,但你会得到一个&#34;没有提到这样的参考资料&#34;如果您尝试git pull,请留言。

答案 9 :(得分:1)

可能导致这种情况的另一件事是,在GitHub Desktop启动后映射网络驱动器或连接VHD时。原因是GitHub Desktop使用便携式GIT安装中的ssh-agent建立连接,并且永远不会关闭它...即使你卸载了应用程序。该过程从不知道新驱动器开始,永远不会自行刷新,当它用于运行GIT命令以处理您的仓库时,它会失败,因为它不了解路径。

此实例中的解决方案是关闭GitHub Desktop并使用任务管理器终止正在运行的ssh-agent,然后再重新启动它。这将在需要时启动一个新的ssh-agent实例,它将获取新的驱动器映射等。

答案 10 :(得分:1)

确保您尝试推送的分支机构未受到保护。我试图推送到受保护的分支机构,并且和你一样失败。

答案 11 :(得分:0)

我尝试使用Android Studio提交更改并将其推送到掌握但是窗口显示一个弹出窗口,我必须输入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`

如果有人知道如何从Windows登录Github popup,因为我注册了谷歌帐户,这里只有2个字段Github用户名,密码请告诉我。我已经解决了这个问题,但浪费了一些时间,所以我也想知道登录。

答案 12 :(得分:0)

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

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

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

我不确定为什么在错误提示中没有公开这些信息,但至少它是可用的。

答案 13 :(得分:0)

我有同样的问题。我从GitHub Windows客户端(右键菜单)中删除了repo并重新添加。当我重新添加时,我注意到我有大约300个未提交的更改,并且它报告了内存错误。我放弃了所有更改,然后同步再次开始正常工作。 (Rookie Git用户 - 我确定有更好的方法在命令行上执行此操作)

答案 14 :(得分:0)

我有同样的问题,&#34; git status&#34;也没有显示任何问题,然后我只是重新启动 Windows的神圣GitHub客户端,它就像魅力一样。

答案 15 :(得分:0)

根据HTTP代理的答案,这也可能由于VPN连接而发生。断开我的VPN连接解决了它。

答案 16 :(得分:0)

检查&#34; git状态&#34;和&#34; git pull &#34;在shell中找出问题所在。 我的问题是配置中的http.proxy节点,因此Github Windows应该更加智能,就像弹出shell并在错误发出后提供更多提示。