我使用的是 Github Windows 1.0.38.1,当我在提交后单击“同步”按钮时,出现错误
我该如何调试这个问题?如果在shell中,我该怎么办?
如果我执行git push
or git pull
,同步工作正常,但下次我想使用 Github windows 同步时,我得到同样的错误。
我使用的是 Github Windows 1.0.38.1,当我在提交后单击“同步”按钮时,出现错误
我该如何调试这个问题?如果在shell中,我该怎么办?
如果我执行git push
or git pull
,同步工作正常,但下次我想使用 Github windows 同步时,我得到同样的错误。
当它这么说时,只需打开外壳并执行git status
. 这将使您对可能出现的问题以及您的回购状态有一个不错的了解。
我不能给你一个具体的错误,因为它在 Github for Windows 中发生的原因有很多,比如在更新子模块时出现一些问题等。
出现此错误是因为文件中的合并冲突。在我更新了我的 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 网站再次克隆它(使用我帐户中的克隆选项),错误消失了。
当我从 Visual Studio 内部尝试时,我遇到了同样的问题,shell 中的“git status”显示没有问题。但我设法通过 shell 使用“git push”推送本地更改。
我遇到了这个问题,发现它与代理有关。我使用这个命令解决了这个问题:
git config --global http.proxy %HTTP_PROXY%
我有同样的问题。在我的情况下,git 找不到全局变量%HTTP_PROXY%
,仅仅是因为 Windows 没有提供/使用它。
我通过从 git 配置文件(位于%USERPROFILE%\.gitconfig
)中排除变量来解决它:
[http]
# proxy = %HTTP_PROXY%
这可能是一个极端情况,但每次我遇到这个特定错误都是因为我最近在 Windows 中映射了一个驱动器,powershell
但找不到它。
计算机重新启动(所有事情)为我修复了错误,powershell
现在可以拿起新映射的驱动器。只需确保在打开 github 客户端之前连接到映射驱动器即可。
您最近是否更改了 Windows 密码,或者至少更改了您用来连接代理的密码?
这是我的问题,git status
无法帮助我。我必须在“.git/config”文件中更改我的登录凭据才能克服这个错误。
如果您尝试同步的分支已被删除,也会出现此错误。
git status
不会告诉你,但如果你尝试git pull
.
可能导致此问题的另一件事是,在 GitHub Desktop 已启动后映射网络驱动器或连接 VHD。原因是 GitHub Desktop 使用可移植 GIT 安装中的 ssh-agent 来建立连接,并且永远不会关闭它……即使您卸载了应用程序。该过程在不了解新驱动器的情况下开始,并且从不刷新自身,并且当它用于运行 GIT 命令以处理您的存储库时,它会失败,因为它不了解路径。
此实例中的解决方案是关闭 GitHub Desktop 并使用任务管理器终止正在运行的 ssh-agent,然后再重新启动它。这将在需要时启动一个新的 ssh-agent 实例,它将获取新的驱动器映射等。
确保您尝试推送到的分支不受保护。我试图推送到受保护的分支,但和你一样失败了。
检查 shell 中的“ git status ”和“ git pull ”,找出问题所在。我的问题是配置中的 http.proxy 节点,因此 Github Windows 应该更智能,就像弹出 shell 并在错误发出后提供更多提示。
根据 HTTP 代理答案,这也可能是由于 VPN 连接而发生的。断开我的 VPN 连接为我解决了这个问题。
我尝试使用 Android Studio 提交更改并将其推送到 master 但是 Window 显示了一个弹出窗口,我必须输入 Github Credentials ( 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 弹出窗口,就像我使用 google 帐户注册时一样,这里只有 Github 用户名、密码 2 个字段,请告诉我。我已经解决了这个问题,但是浪费了一些时间,所以我也想知道登录。
调试日志可能会提供一些见解。我使用的是 v3.3.4.0,您的体验可能会有所不同,但应该是相似的。从设置菜单中选择“关于 Github Desktop...”。点击链接查看调试日志。就我而言,有一个非常明显的错误:
*** 致命错误 - 检测到 cygheap 基础不匹配 - 0x1157408/0x1167408。此问题可能是由于使用了不兼容的 cygwin DLL 版本。
它甚至提供了一些有用的提示来解决问题。
我不确定为什么错误提示中没有显示此信息,但至少它是可用的。
我遇到了同样的问题,“git status”也没有问题,然后我重新启动了 windows 的神圣 GitHub 客户端,它就像魅力一样工作。
我遇到过同样的问题。我从 GitHub Windows 客户端(右键菜单)中删除了 repo 并重新添加了它。当我重新添加时,我注意到我有大约 300 个未提交的更改,并且报告了内存错误。我放弃了所有更改,然后同步再次开始正常工作。(菜鸟 Git 用户 - 我确信在命令行上有更好的方法来执行此操作)