Android Studio Git 推送被拒绝

Posted

技术标签:

【中文标题】Android Studio Git 推送被拒绝【英文标题】:Android Studio Git Push Rejected 【发布时间】:2017-03-01 17:32:06 【问题描述】:

我正在尝试将我的 android 项目上传到 github,但是当我尝试推送时出现此错误:

Push rejected: Push to origin/master was rejected

我做了这个步骤:

VCS->导入版本控制->创建新存储库...

来自项目文件夹中的 git bash:

git远程添加源https://github.com/[username]/[project_name].git

Git->添加

Git->提交目录

Git->推送

【问题讨论】:

可能是身份验证问题。检查您的用户名/密码设置 我该怎么做?来自 Android Studio? 是私人项目还是公共项目? 这是一个公共项目 先尝试拉取看看有没有报错。如果没有,请重试您的推送 【参考方案1】:

推送后关注这些,

VCS --> Git --> 分支

然后选择origin/master --> Rebase

完成rebase成功消息后,您可以推送到远程目录。希望对您有所帮助。

【讨论】:

这对我有用..我需要先将 origin/master 添加为新分支,因为由于某种原因我没有分支.. 我不知道这是怎么发生的,但这对我有用。你拯救了我的一天。谢谢。 现在不知道为什么会这样,但是谢谢。你能解释一下吗? 它奏效了,这是一种解决冲突和整体问题的干净有效的方法。谢谢。 您通常会在本地未正确同步时收到此错误。因此,rebase 是解决同步问题的解决方案之一。你可以从这里了解更多关于 rebase (atlassian.com/git/tutorials/rewriting-history/git-rebase) @Saul_programa【参考方案2】:

按照 cmets 中的建议,如果您正在处理一个新的存储库,当您使用自述文件或许可证文件创建远程存储库时可能会发生这种情况,您应该首先提取更改。要从您应该使用的用户界面中提取更改,VCS > Git > Pull 然后选择主分支(取决于)

之后你就可以Git > Push了。

【讨论】:

这在 android studio 2.3.1 中仍然无法正常工作!它给了我这个错误..来自bitbucket.org/UserName/ProjectName * branch master -> FETCH_HEAD = [up to date] master -> origin/master fatal: refusing to merge unrelated histories @Elhamer 我在该窗口中看不到任何选项。我正在使用 gitlab 和私有 ripo。 我在 Bitbucket 上创建了一个带有 readme.md 文件的新存储库。当我第一次推送我的项目时,我收到一个错误,告诉我我需要拉(我认为是自述文件)。但是当我尝试拉时我收到一个错误。我通过在没有自述文件的情况下启动一个新的 repo 来解决......但是下次如果自述文件存在,我怎么能没有问题? 先获取查看远程分支 git pull origin master --allow-unrelated-histories【参考方案3】:

只需转到项目的根目录并按照以下步骤操作:

右键单击-> Git Bash Here

键入 git init(用于初始化 git)。

输入git add -A(获取暂存区的所有文件)。

键入 git commit -m "First Commit"(提交更改)

输入 git remote add origin https://your_git_url.git(你的 repo URL)

输入 git push -u origin master(master - 分支名称)

键入 git push -f origin master(master - 分支名称)(-f 表示强制推送,并确保您的分支中没有更改以推送代码。 )

你也可以使用 Git GUI 客户端:

Github 桌面供 github 用户使用 Download 适用于 Windows、Mac 和 Linux 的 GitKracken Download(公共存储库免费) 适用于 Windows 和 Mac 的 SourceTree Download

【讨论】:

谢谢它的工作。如果在 IDE 中 已经 提交,那么只需在 git bash 中提交 git push -f origin master,这样更加方便和安全。另一个注意事项是不要覆盖别人的工作,只为自己的自己的 repo 这样做。 这就是答案!谢谢!【参考方案4】:

对于 Android Studio,如果您的“推送”被拒绝,请继续尝试:

尝试拉动。(Origin/Master)。紧接着:

VCS-->Git-->Branches..-->Remote Branches(origin/master)-->Rebase Current 到 Selected

这将消除您所有矛盾的配置。

【讨论】:

【参考方案5】:

试试这个

这种类型的错误也出现在我的项目中,因为我创建了一个新项目并将旧的 config 和一些类文件粘贴到新项目中。

我已经通过创建新分支推送了代码

转到VCS->Git->分支->新建分支

【讨论】:

【参考方案6】:

如果上述解决方案都不起作用,那么您可以检查一下..

    登录 GitHub 帐户并进行设置。 在设置中打开电子邮件部分并检查它是公共的还是私人的。 如果它是公开的,那么其他解决方案也可以正常工作,如果您的电子邮件是私人的,则将其声明为公开。

由于私人电子邮件,您无法从 IDE 推送存储库中的文件。所以,把它公开

另一种解决方案。!!

未版本化的代码没有版本化,更改已提交但不推送。 以下是使文件版本化的步骤。

    打开项目选项卡(必须在左侧工具栏中,如果没有,请按“Alt + F1”) 在顶部,有一个带有“Android”的下拉菜单,打开下拉菜单并选择“项目” 在显示的列表中,右键单击您的项目文件夹 必须有'Git'的选项,选择它 选择“添加”选项。 它就在那里! 现在只需像往常一样尝试提交和推送操作。

**注意:**您必须每次使用上述步骤添加文件才能成功上传文件。!!

谢谢大家:)

【讨论】:

谢谢!昨天我在 GitHub 上将我的电子邮件设置为私有,我想知道为什么我的推送被拒绝了!非常感谢! 这应该是最好的解决方案之一!谢谢!!!愚蠢的我,我将我的电子邮件设置为私人哈哈!哟,非常感谢!【参考方案7】:

我遇到了同样的问题。我终于从命令行尝试了它并收到了这条消息:

    remote: error: GH007: Your push would publish a private email address.
    remote: You can make your email public or disable this protection by visiting: 
    remote: http://github.com/settings/emails

在那里你应该看到两个复选框。您需要取消选中其中一个。

将我的电子邮件地址保密 阻止暴露我的电子邮件的命令行推送

【讨论】:

【参考方案8】:

我遇到了同样的问题,只需这样做即可解决:-

转到 Github 帐户设置

(1)

(2)

【讨论】:

【参考方案9】:

当我从另一个 github 帐户分叉并在 Android Studio 中克隆它时,我遇到了同样的问题,我更改了一些文件并提交(成功)并推送,但被拒绝了。

问题是,我已经用我的另一个帐户登录了 Android Studio 中的 GitHub,而不是我正在分叉项目的那个。查看您的来自:

文件 -> 设置 -> 版本控制 -> GitHub

如果账户信息与repo克隆账户不匹配,请更改。

那么你就可以推送了。

【讨论】:

【参考方案10】:

我们可以通过编辑目标服务器上的 .git/config 来绕过这个“限制”。添加以下内容以允许将 git 存储库推送到即使它已“签出”:

[receive]
denyCurrentBranch = warn

[receive]
denyCurrentBranch = false

【讨论】:

【参考方案11】:

如果您是第一次推送,请从 git 中删除存储库,从 Android Studio 3 再次在 Git 上共享项目

【讨论】:

【参考方案12】:

当您使用自述文件默认创建存储库时就是这种情况,因此您可以先拉取或创建没有自述文件的新存储库,并且不要忘记更改存储库 URL。希望能帮助到你。干杯。

【讨论】:

【参考方案13】:

当我在 Android Studio 中遇到同样的错误时;我只是简单地重命名了我的远程名称,它修复了错误。 我遵循的步骤是:

    右键单击项目名称并转到存储库选项。 然后选择遥控器。 然后将要求您通过提供远程名称和 GitHub 存储库的 URL 来定义远程。如果已经填写了“origin”,只需根据您的选择更改名称,然后填写您的 GitHub 存储库的 URL。

【讨论】:

【参考方案14】:

我在这里给出明确的说明,跳过你已经完成的步骤..

首先在 github 中创建新的存储库。 (在工作完成之前不要关闭标签)

然后你必须检查你是否在 android studio 中登录了你的 github 帐户。如果没有,您可以登录设置->版本控制-> github。

然后转到 VCS -> 导入版本控制。

现在在 android studio 项目选项卡中将其从 android 更改为项目 .Android to Project.

第三步: 然后右键单击您的项目选择 git 然后 +add。再次右键单击-> commit 并再次右键单击-->git--> 存储库--> 推送。 在新窗口中选择 origin -> master 然后推送..如果您已经完成了这部分并在此处收到错误,请执行此操作。(我认为这是您第一次尝试将项目添加到 github 并且 github repo 是空的。 )

转到终端(ide 的底部)使用此命令删除原点。 git remote rm origin

现在再次执行第 3 步。之后,您将要求输入 github 存储库 url。 每当您添加 url 时,请确保在 url 的末尾添加 .git .

像这样。 https://github.com//xylophoneApp.git

【讨论】:

【参考方案15】:

对于任何可能像我一样遭受此问题困扰的人,整个问题都与executionHistory.bin 文件有关,不要问我为什么,因为我根本不知道。

只需创建没有此文件的提交并推送它,这就是我的问题的解决方案。

希望这对某人有所帮助。

【讨论】:

以上是关于Android Studio Git 推送被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

功能分支变基后 Git 推送被拒绝

功能分支变基后 Git 推送被拒绝

“Git 推送非快进更新被拒绝”是啥意思?

Git推送错误预接收挂钩被拒绝

在 Visual Studio 2015 git repo 中切换分支时发生错误,无法 rmdir 访问被拒绝

Mac 操作系统上的 Android Studio IDE:错误=13,权限被拒绝