【! [rejected] master -> master (fetch first)error: failed to push some refs to】解决
u:设置本地master分支跟踪远程origin仓库的master分支,下一次推送直接使用git push命令而无需指定远程仓库和远程分支的名称。1、先拉取master分支上的代码进行同步git pull --rebase origin master,,这表明远程仓库中的分支已经包含了本地分支没有的新提交。2、提交的邮箱和你git设置的邮箱是同一个,我这里使用的git可视化工具Sourcetree
当我们在进行了如下git操作之后:
1、进入到项目所在文件夹中,初始化完本地仓库
git init
2、添加文件到本地暂存区
git add .
3、提交文件到本地仓库
git commit -m "提交说明"
4、将本地仓库与远程仓库进行关联
git remote add origin 远程仓库地址
origin:远程仓库的别名
5、推送文件到远程仓库
git push -u origin "master"
-u:设置本地master分支跟踪远程origin仓库的master分支,下一次推送直接使用git push命令而无需指定远程仓库和远程分支的名称
当你尝试向远程仓库推送文件,突然发现报错,如下图:
![rejected] master —> master (fetch first)和 error: failed to push some refs to 或者 hook declined to update refs/heads/master,这表明远程仓库中的分支已经包含了本地分支没有的新提交。为了防止数据丢失,Git 阻止了推送操作。

我们首先确保两个问题:
1、取消个人设置中邮箱管理如下图所示的勾选:

2、提交的邮箱和你git设置的邮箱是同一个,我这里使用的git可视化工具Sourcetree


在git bash命令提示符窗口可以输入一下命令进行查看:
git config --list

或者
git config user.email

到这里可以尝试再次推送就可以成功了,如下图:

若是还没成功,在sourcetree上先拉再推,如下图:

bash窗口执行如下命令:
1、先拉取master分支上的代码进行同步 git pull --rebase origin master,
2、再进行推送 git push -u origin "master"。
成功推送文件到远程仓库。
不建议强制推送 git push --force
【PS:若有其它更好的方法,请您大声说出来,欢迎大家一起探讨】
更多推荐




所有评论(0)