git push 失败问题如何解决

问题:在修改完文件向github提交的时候,提交失败;由于之前直接在github上修改文件提交了一次,但是没有修改对,又再本地修改再次提交,就会失败,报如下错误:

hfzhang@010YS-IT-00368 MINGW64 /d/JAVA-01/JAVA-01/Week_07 (main)
$ git push origin
To github.com:areyoucreazy/JAVA-01.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'git@github.com:areyoucreazy/JAVA-01.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.

 

原因其实就是文件有冲突,没有解决的情况下直接提交造成的。

解决办法:

方案一:提交之前先执行 git pull 命令拉取代码,然后再提交,成功!

 

hfzhang@010YS-IT-00368 MINGW64 /d/JAVA-01/JAVA-01/Week_07 (main)
$ git pull
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 4), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
From github.com:areyoucreazy/JAVA-01
   440448b..d51ef82  main       -> origin/main
Auto-merging Week_07/README.md
Merge made by the 'recursive' strategy.

hfzhang@010YS-IT-00368 MINGW64 /d/JAVA-01/JAVA-01/Week_07 (main)
$ git push origin
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 591 bytes | 59.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 2 local objects.
To github.com:areyoucreazy/JAVA-01.git
   d51ef82..16e6954  main -> main

方案二:这是从网上找的,使用的命令是 git pull origin master --allow-unrelated-histories,然后提交的时候用的命令是 git push -u origin master

我查了一下这个命令 --allow-unrelated-histories ,其实是提醒有两个不相干的分支要进行合并,并且强制执行的意思;如果方案一不成功,可以试试这个

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值