当我们在进行了如下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

官网下载:Sourcetree | Free Git GUI for Mac and Windows

在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:若有其它更好的方法,请您大声说出来,欢迎大家一起探讨】

Logo

一站式 AI 云服务平台

更多推荐