git push 失败的处理方式

远程创建了含有Readme的仓库, 本地初始化并添加了远程仓库后, push却失败了, 出现提示:

$ git push origin dev

To https://git.oschina.net/erchoc/laradock.git

 ! [rejected]        dev -> dev (fetch first)

error: failed to push some refs to 'https://git.oschina.net/erchoc/laradock.git'

hint: Updates were rejected because the remote contains work that you do

hint: not have locally. This is usually caused by another repository pushing

hint: to the same ref. You may want to first integrate the remote changes

hint: (e.g., 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

问题(Non-fast-forward)的出现原因是: git仓库中已有一部分代码, 它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

1. 强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容: git push -f

2. 先把git的东西fetch到你本地然后merge后再push

    - $ git fetch
    - $ git merge

这2句命令等价于

$ git pull 

可是, 有时候还会出现问题:

上面出现的 [branch "master"]是需要明确(.git/config)如下的内容

[branch "master"]

    remote = origin

    merge = refs/heads/master

这等于告诉git2件事:

1,当你处于master branch, 默认的remote就是origin。

2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变

如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:

$ git config branch.master.remote origin 

$ git config branch.master.merge refs/heads/master 

之后再重新git pull下。最后git push你的代码吧。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
git push失败可能有以下六种常见原因: 1. 权限不足:你没有权限将代码推送到该项目。这可能是因为你没有被授予推送代码的权限,或者你正在尝试将代码推送到一个只读的仓库。解决方法是联系项目管理员或仓库所有者,请求相应的权限。 2. 分支保护:该项目可能启用了分支保护功能,只允许特定的分支接受推送。如果你正在尝试将代码推送到受保护的分支,但没有相应的权限,就会出现推送失败的错误。解决方法是检查你正在推送的分支是否受到保护,并确保你有相应的权限。 3. 代码冲突:如果你的本地代码与远程仓库中的代码发生冲突,git push操作将会失败。这通常发生在多人协作开发时,多个人同时修改了同一部分代码。解决方法是先解决代码冲突,然后再进行推送。 4. 仓库不存在:你可能正在尝试将代码推送到一个不存在的仓库。请确保你输入的仓库地址或名称是正确的,并且该仓库确实存在。 5. 网络连接问题:推送失败也可能是由于网络连接问题导致的。请检查你的网络连接是否正常,并尝试重新推送。 6. 用户身份验证问题:如果你的身份验证信息不正确或过期,git push操作将会失败。解决方法是使用正确的用户名和密码或访问令牌进行身份验证。 请根据具体情况检查以上六种原因,并采取相应的解决方法来解决git push失败的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值