错图:
正常来说,这个还是比较简单的:
- git init 初始化,例如django的项目,名称为demo,所有的文件在demo目录下,则该命令在demo目录下的终端执行即可,会生成.git目录
- git add .加入暂存区,这个”."指的是当前目录下的所有文件以及目录
- git commit -m 'first commit' 提交,确认提交的内容,也是一种提示吧
- 创建远程仓库(不会的请自己百度,我的问题也与这里有关)
- git remote add origin https://xxxxxxxxx@39.96.26.252:8443/r/web_demo.git 创建远程链接或说将本地仓库和远程仓库连接(这是我自己搭建的gitblit,所以地址有些不同)
- git push -u origin master 推送,结束,正常会成功,我的失败了
问题发生的原因以及解决方案:
执行第六步,报错error: failed to push some refs to 'https:。。。。。
提示执行git pull,说明远程仓库与本地不同步,我的确实不同步,在创建远程仓库,我指定生成readme.md和gitignore文件,造成了远程仓库有的文件,本地是不存在的。所以让你执行git pull来同步仓库,可是执行git pull origin master出现refusing to merge unrelated histories,如下图:
所以需要执行git pull origin master --allow-unrelated-histories
同步后,执行 git push -u origin master,开始上传,完美成功
如果还不行,则git push -u origin master -f 强制执行
综上所述,正确的方式是:
- 初始化项目,我的项目在web_demo下,在终端中切换到项目目录,执行该命令
git init
- 添加文件到暂存区
git add .
- 提交到 git 目录中数据库,并指定更新注释
git commit -m 'first commit'
- 创建远程仓库(如果创建readme.md等文件,就会出现上述问题)
- 将本地仓库和远程仓库连接
git remote add origin https://xxxxxxxxx@139.26.36.212:8233/r/web_demo.git
- 同步远程仓库的文件到本地仓库
git pull origin master --allow-unrelated-histories
- 将本地仓库文件上传至远程仓库
git push -u origin master
完美解决!!!