Android Studio下Kotlin项目GitHub推送失败求助:服务器文件意外结束
问题场景
使用Android Studio开发Kotlin项目「Tip Calculator」,已完成初始提交,配置了全局Git用户名和邮箱:
git config --global user.name "Firstname Lastname" git config --global user.email myemailadress@gmail.com
尝试分享到GitHub时,仓库创建成功但初始Push失败,报错:
Can't finish GitHub sharing process
Successfully created project 'TipCalculator' on GitHub, but initial push failed:
Invocation failed Unexpected end of file from server
java.lang.RuntimeException: Invocation failed Unexpected end of file from server
at git4idea.GitAppUtil.sendXmlRequest(GitAppUtil.java:30)
at git4idea.http.GitAskPassApp.main(GitAskPassApp.java:58)
Caused by: java.net.SocketException: Unexpected end of file from server
at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:866)
...
解决方案
手动执行Push命令绕开IDE工具
打开终端进入项目根目录,直接执行Git命令推送:# 若默认分支是main git push -u origin main # 若默认分支是master git push -u origin master如果用HTTPS协议,这里需要输入GitHub的个人访问令牌(GitHub已不再支持密码认证);如果是SSH协议,确保本地SSH密钥已添加到GitHub账户。
检查并修改Git远程地址
先查看当前远程仓库地址:git remote -v如果是HTTPS地址出现问题,换成SSH地址:
git remote set-url origin git@github.com:你的GitHub用户名/TipCalculator.git反之如果SSH有问题,换成HTTPS地址:
git remote set-url origin https://github.com/你的GitHub用户名/TipCalculator.git排查代理与Git配置
- 打开Android Studio的
Settings → Version Control → Git,确认Git可执行文件路径正确(指向本地安装的Git程序)。 - 进入
Settings → Appearance & Behavior → System Settings → HTTP Proxy,关闭不必要的代理,或确保代理配置能正常访问GitHub。
- 打开Android Studio的
处理仓库冲突(若仓库已初始化)
如果GitHub上的仓库自动创建了README、LICENSE等文件,本地提交和远程仓库无关联历史,先拉取远程内容再推送:git pull origin main --allow-unrelated-histories # 解决可能出现的冲突后,再执行push git push -u origin main重置Git凭证缓存
若本地缓存了错误的凭证,执行以下命令清除后重新认证:git config --global --unset credential.helper
内容的提问来源于stack exchange,提问作者mjcoder

