Git之常见异常收集

来源:互联网 发布:linux安装libssl dev 编辑:程序博客网 时间:2024/06/04 09:41

Push to origin /master was rejected


参考:https://stackoverflow.com/questions/40142180/android-studio-git-push-rejected

2   failed to push some refs to

描述:
$ git push -u origin master
To git@github.com:******/Demo.git
 ! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:******/Demo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决方案:
(1).使用强制push的方法:
$ git push -u origin master -f 
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
(2).push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
(3).若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name]
然后push
$ git push -u origin [name]
参考:《push本地代码到github出错


fatal: refusing to merge unrelated histories

描述:这是从远程库pull项目,合并文件发生的异常
解决方案:在pull的时候添加 --allow-unrelated-histories。
git pull origin master ----allow-unrelated-histories
参考:《 git无法pull仓库refusing to merge unrelated histories

 error:src refspec master does not match any

描述:在push项目的时候,引发该异常。
原因分析:目录中没有文件,空目录是不能提交上去的,获取没有add、commit文件直接进行push了。
解决方案:
$touch README
$git add README 
$git commit -m 'first commit'
$git push origin master
参考:《error: src refspec master does not match any解决办法
error: src refspec master does not match any

fatal: Authentication failed for 'https://github.com/ ...

描述:使用的https提交,在用SourceTree提交代码时候发生错误,返回的错误提示说:
fatal: Authentication failed for 'https://github.com/ ...   
解决方案:重新执行Git config命令配置用户名和邮箱即可:
$git config -–global user.name "xxx"   
$git config –-global user.email "xxx@xxx.com"
   

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

描述:To git@git.oschina.net:yangzhi/hello.git
 ! [rejected]        master -> master (fetch first)error: failed to push some refs to 'git@git.oschina.net:yangzhi/hello.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. This is usually caused by another repository pushinhint: to the same ref. You may want to first merge the remote changes (e.g.hint: 'git pull') before pushing again.hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决方案:
可以输入:$ git push -u origin master -f

原创粉丝点击