安卓工作室Git推送被拒绝

58

我正在尝试将我的安卓项目上传到GitHub,但是当我尝试推送时出现了以下错误:

Push rejected: Push to origin/master was rejected

我按照以下步骤进行操作:


2
可能是身份验证问题。请检查您的用户名/密码设置。 - HelloSadness
这是一个私人项目还是公共项目? - HelloSadness
这是一个公共项目。 - Cosimo Sguanci
我尝试使用Git Bash进行Pull/Push操作,而且它成功了。但是,为什么呢? - Cosimo Sguanci
你应该在推送之前先拉取。当然,如果没有需要拉取的内容,那么你可以直接推送 :) - HelloSadness
显示剩余6条评论
16个回答

96

推送后,请按以下步骤操作:

VCS --> Git --> Branches

然后选择 origin/master --> Rebase

在完成变基成功的消息后,您就可以将其推送到远程目录了。


1
这对我起了作用。但首先,我需要将 origin/master 添加为一个新的分支,因为出于某种原因,我没有任何分支。 - Matan Dahan
4
不知道怎么回事,但这对我有效。你救了我的一天。谢谢你。 - Mehul Solanki
1
不知道为什么这个有效,但谢谢。你能解释一下吗? - Saul_programa
1
它起作用了,这是解决冲突和整个问题的一种干净高效的方式。谢谢。 - Danger
1
通常情况下,当您的本地同步不正确时,会出现此错误。因此,rebase是解决同步问题的一种解决方案。您可以从这里了解更多关于rebase的信息(https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase)@Saul_programa - Narendhran
显示剩余2条评论

93

根据评论建议,如果你正在使用一个新的仓库,当你创建带有自述文件或许可证文件的远程仓库时,应该先拉取更改。要从用户界面拉取更改,你应该使用 VCS > Git > Pull ,然后选择主分支(取决于情况)。

enter image description here

之后,你就可以毫无问题地使用Git > Push了。


4
这在Android Studio 2.3.1中仍然无法工作!!它给了我这个错误..来自https://bitbucket.org/UserName/ProjectName
  • 分支master -> FETCH_HEAD = [更新] master -> origin/master 致命错误:拒绝合并不相关的历史记录。
- kinsley kajiva
@Elhamer 我在那个窗口中没有看到任何选项。我正在使用GitLab和私有存储库。 - Mahdi-Malv
1
我在Bitbucket上创建了一个新的存储库,并添加了readme.md文件。当我第一次推送我的项目时,我收到了一个错误提示,告诉我需要拉取(我认为是指readme文件)。但是,当我尝试拉取时,又出现了错误。我通过创建一个没有readme文件的新存储库来解决了这个问题...但是下一次如果readme文件存在,我该如何顺利地进行拉取操作呢? - Dario
1
获取第一个以查看远程分支。 - Qamar
如果你在第一个提交上,错误的变基可能会删除整个分支。请务必非常小心地进行变基。 - hellowahab
显示剩余2条评论

18
只需前往项目的根目录并按照以下步骤操作:
  • 右键单击->在此处打开Git Bash

  • 输入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客户端:


谢谢,它可以工作。如果已经在 IDE 中提交了代码,则只需在 Git Bash 中执行 git push -f origin master 命令,这更方便和安全。另一个要注意的是不要覆盖其他人的工作,只对自己的存储库进行此操作。 - Meow Cat 2012
这是答案!谢谢! - Kenan Begić

11

如果您在使用Android Studio时遇到“推送”被拒绝的情况,请尝试以下操作:

尝试拉取(Origin/Master)后,执行以下步骤:

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

图片描述

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


7

试试这个

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

我通过创建新分支来推送代码。

进入VCS->Git->Branches->New Branch


5
如果以上解决方案都不起作用,您可以尝试以下方法:
  1. 登录GitHub帐户并进入设置。
  2. 在设置中打开电子邮件部分,检查它是公开还是私人。
  3. 如果是公开的,则其他解决方案将很好地解决问题;如果您的电子邮件是私有的,则将其声明为公开。
由于私人电子邮件,您无法从IDE将文件推送到存储库。所以,请将其公开。 另一个解决方案.!! 未版本化的代码没有版本记录,更改已提交但不会推送。 以下是使文件具有版本记录的步骤。
  1. 打开项目选项卡(必须位于左侧工具栏中,如果没有,则按“Alt + F1”)
  2. 在顶部,有一个下拉菜单,选择“Android”,打开下拉菜单并选择“Project”
  3. 在显示的列表中,右键单击您的项目文件夹
  4. 必须有一个“Git”选项,请选择它
  5. 选择“添加”选项。 就这样! 现在只需像往常一样尝试提交和推送操作即可。
**注意:** 每次使用上述步骤添加文件以成功上传文件。!!
谢谢大家 :)

1
谢谢!我昨天刚把我的GitHub邮箱设置为私人的,所以一直在想为什么我的推送被拒绝了!非常感谢! - Yashovardhan99
这应该是最佳的解决方案!谢谢!!!我愚蠢地把我的电子邮件设置成了私人模式哈哈!哥们非常感谢你! - Cousin Roy

2

我曾经遇到过同样的问题,只需按照以下步骤解决:

前往 Github 账户设置

(1)

enter image description here

(2) 在此输入图像描述


1
当您创建一个带有默认自述文件的存储库时,您可以先拉取或创建一个没有自述文件的新存储库,并不要忘记更改存储库URL。希望这有所帮助。干杯。

1

我曾经遇到过同样的问题。最终我尝试从命令行运行,并收到了以下消息:

    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

你会看到两个复选框,你需要取消其中一个的勾选状态。

  • 保持我的电子邮件地址私有
  • 阻止命令行推送,这些推送会暴露我的电子邮件地址

0

我在这里提供明确的说明,跳过你已经完成的步骤。

首先,在 Github 上创建一个新的存储库。(不要关闭标签直到工作完成)

然后您需要检查一下,您是否已经登录了 Android Studio 中的 Github 帐户。如果没有,请在“设置”->“版本控制”->“Github”中登录。

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

现在在 Android Studio 项目选项卡中将其从“Android”更改为“项目”.Android to Project.

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

进入终端(IDE 底部),使用以下命令删除 origin。 git remote rm origin

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接