为什么我总是出错“推送到原点/主人被拒绝了”?

时间:2018-05-26 01:15:48

标签: git github git-bash git-shell

编辑:如果你使用git bash,应该注意的事情之一是更好地保持AUTOCRLF错误

git config --global core.autocrlf false

=============================================== =========

我是git的新手,我在部署文件方面遇到了问题......

我只是使用命令成功拉出文件(?),现在我正试图推送......

提交以下日志:(由于LF,CRLF或未跟踪的文件错误,我有几次未提交,因此我有几次恢复)

在AS中我得到了“推送到原点/主人被拒绝”

推送

时出错
hint: Updates were rejected because the tip of your current branch is behind
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
Done
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
18:53:20.176: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false pull --progress --no-stat -v --progress origin 
master
From https://github.com/kiranofans/Lab1_MovieApp
 * branch            master     -> FETCH_HEAD
 = [up to date]      master     -> origin/master
fatal: refusing to merge unrelated histories
18:57:26.215: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false push --progress --porcelain origin 
refs/heads/master:master
github --credentials get: github: command not found
github --credentials store: github: command not found
error: failed to push some refs to 
'https://github.com/kiranofans/Lab1_MovieApp.git'
To https://github.com/kiranofans/Lab1_MovieApp.git
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
Done
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5 个答案:

答案 0 :(得分:2)

我不确定你在这里问的是什么。那些日志不是很有用。

但是因为你问的是推动......

一般来说,你是通过克隆一个回购开始的,或者你已经运行了git init并创建了一个。

然后,您可以在该回购中编辑或创建文件。

然后,您需要暂存要提交的文件。

git add <file1> <file2> ...

你可以看到上演的内容 git status

如果一切顺利,您可以提交这些更改

git commit -m "My commit message"

如果你克隆了一个远程存储库,并且你有权推送它

git push <remote> <branch>类似于git push origin master

您可以使用以下方式查看您的遥控器 git remote -v

如果您在列表中没有看到所需的遥控器,则可以添加遥控器 git remote add <give it a name> <the URL to the repo>等等 git remote add upstream https://github.com/me/myrepo.git

然后推动它 git push upstream master

Git for Windows:https://git-scm.com/download/win
参考手册:https://git-scm.com/doc
以下是如何:https://githowto.com/

[更新]
那些日志更好。第5行告诉你你需要做什么。 git pull
有人必须在你做之前推动改变。因此,您需要将这些更改提取到您的仓库中。修复任何冲突,提交和推送。

答案 1 :(得分:2)

您将尝试发送命令

git push -f origin master

答案 2 :(得分:1)

如果您阅读了错误消息,则说明:

hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.

注意第二行。

尝试git pull,然后再次尝试git push。它应该工作。

答案 3 :(得分:0)

尝试与用户首次推送到现有存储库时,我遇到了相同的错误。

我的问题是我的用户对存储库具有一般写权限,但对分支没有权限。因此,如果这也是您第一次使用,请检查您的权限。

答案 4 :(得分:0)

这通常发生在我将我的存储库推送到 GitHub 然后使用 GitHub 页面发布我的工作时,然后当我在本地机器上进行一些调整并尝试推送这些更改时,它被拒绝并显示错误消息远程存储库包含我本地存储库中不存在的文件,因此我应该先尝试执行 git pull,主要是因为在发布到 GitHub 页面后,一些 _config.yml 文件被添加到我们的存储库中,而这些文件在我们的本地机器中不存在。

这可以通过先使用 git pull <remote fetch url> 来解决,它将在我们的本地机器上下载 _config.yml 文件,然后我们可以使用 git push 命令进行推送。

我在这里回答这个问题是因为当我尝试搜索为什么我的 git push 命令不起作用时,这个问题是第一个谷歌搜索结果,尽管在这种情况下 push 中的问题是由于不同的原因,其他人可能会面临我的问题,所以我在这里添加了这个答案。