提交本地项目到码云报错

1.码云上配好公钥
git配置全局姓名和昵称

git config --global user.name ''xxxx"
git config --global user.email "[email protected]"

git config --list 查看配置内容

生成公钥输入以下语句

ssh-keygen -t rsa -C "码农注册邮箱"

若不明白参考https://jingyan.baidu.com/article/1974b2894b2569f4b1f77427.html

查看公钥内容

cat ~/.ssh/id_rsa.pub

本地生成公钥路径上:C:\Users\Administrator.ssh文件在中,可以用nodepad++打开,内容与gitbash 显示一致。
在这里插入图片描述

复制公钥内容到码云上配置好。
登陆码云账号-【设置】-【ssh公钥】,复制公钥内容到码云公钥value上,然后在码云上新建项目。

2.本地新建一个项目,建好后,依次输入以下指令
git init //初始化仓库
git add . //添加文件到本地仓库
git commit -m “xxx” //添加文件描述信息
git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支(注意这句,先关联本地及远程分支)
git push -u origin master //把本地仓库的文件推送到远程仓库

查看远程仓库信息

git remote -v

出现以下错误
Updates were rejected because the remote contains work that you do
在这里插入图片描述

原因:本地新建的库内容与远程仓库内容不一致导致的,需要pull拉去远程仓库内容,使本地仓库远程远程仓库同步。

解决方式:
是添加pull语句是:git pull origin master // 把本地仓库的变化连接到远程仓库主分支。

若是git pull origin master成功后,你也可以重新输入以下命令。
git init //初始化仓库
git add . //添加文件到本地仓库
git commit -m “xxx” //添加文件描述信息
git pull origin master // 把本地仓库的变化连接到远程仓库主分支(pull拉去远程仓库到本地)
git push -u origin master //把本地仓库的文件推送到远程仓库

但是事情不是那么顺利,我在git pull origin master 时,又出现以下报错fatal: refusing to merge unrelated histories
在这里插入图片描述

原因:本地仓库分支及远程仓库分支是两个相互独立的分支。
若不明白,查看此篇https://www.centos.bz/2018/03/git-%E5%87%BA%E7%8E%B0-fatal-refusing-to-merge-unrelated-histories-%E9%94%99%E8%AF%AF/

解决方式
git pull origin master --allow-unrelated-histories。(强行合并两个独立分支)
但是,又出现以下问题。
在这里插入图片描述
此次多了这么语句:

Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.

原因:是因为我本地readme.md 与远程的readme.md内容有冲突导致的。只要解决冲突就可以。在重新输入以下指令,就可以提交成功。
git init //初始化仓库
git add . //添加文件到本地仓库
git commit -m “xxx” //添加文件描述信息
git pull origin master
git push -u origin master

若不明白可以参考这篇:
https://blog.csdn.net/zhuhai__yizhi/article/details/82495162


拓展部分:
git branch -vv 可以查看本地分支和远程分支的关联关系)
在这里插入图片描述
关联本地分支及远程分支输入以下命令
git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字

$ git branch --set-upstream-to=origin/master master

在这里插入图片描述
在这里插入图片描述

git branch --set-upstream-to=origin/partyv1 partyv1

在这里插入图片描述

更新远程分支列表
git remote update origin --master

查看所有分支
git branch -a

删除远程分支Chap
git push origin --delete Chap

删除本地分支 Chap
git branch -d  Chap

git checkout -b 本地分支名x origin/远程分支名x
PS E:\hangzhou> git branch -va
* master                    33bc327 杭州音源管理
  remotes/origin/hangzhouV2 33bc327 杭州音源管理
  remotes/origin/master     33bc327 杭州音源管理
PS E:\hangzhou> git checkout -b hangzhouV2 origin/hangzhouV2

远程partyv1分支及master内容分支不一致,远程分支的partyv1内容合并到master分支中
git checkout master  //切换到 master
git merge origin/partyv1  //选择要合并到 partyv1的分支
git push //push 即可 

关于提交代码报错:
本地的SSH key密码前段时间被删除后又重新生成新秘钥,在提交代码到github时,出现如下问题。

The authenticity of host 'github.com (13.250.177.223)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

解决:
在这里插入图片描述
查看用户目录下的.ssh是否有以上三个文件,若只有id_rsa和id_rsa.pub文件,只需输入yes即可生成know_hosts文件,即可解决。
若有上面三个文件都存在,查看是否将github与关联本地仓库相关联。没关联重新关联就行。
若关联了还不行,就删除本地的 .ssh文件,重新生成。并将生成SSH key复制github即可。

项目报错HttpRequestException encountered.

在提交新项目到码云上时报HttpRequestException encountered.
报错原因Github 禁用了TLS v1.0 and v1.1,必须更新Windows的git凭证管理器。
访问此处https://github.com/microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0,只需下载GCMW-1.14.0.exe安装即可
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ee_11eeeeee/article/details/100182001