背景
git pull、push代码时偶尔会遇到各种各样的报错
本次主要介绍的是遇到git冲突、切分支报错解决方式
git冲突和解决冲突
产生冲突原因:多个开发者同事使用或者操作git中的同一个文件,最后再一次提交和push的时候,第一个操作的是可以正常提交的,而之后的开发和要执行git pull、push时,会报冲突异常conflict。利用checkout进行处理:
git status
git checkout XXXX(xxx分支名)
git checkout *
git 切换分支时,遇到报错
报错内容:
error: Your local changes to the following files would be overwritten by merge:
xxxx
xxxx
Please commit your changes or stash them before you merge.
解决办法:
方法一:
#git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
git stash
git pull
#可以通过git stash pop命令恢复之前缓存的工作目录
git stash pop
方法二:直接完全覆盖本地修改
git reset
git pull
方法三:提交本地代码 到commit步骤, 不上传
git status
git add .
git commit . -m 'temp'
git status
git checkout -b 分支名 origin/分支名
git remote show origin”查看当前仓库基本信息
git pull时遇到报错
报错内容:
Your account has been blocked. fatal: Could not read from remote repository
解决办法:
#查看git config状态,是否有配置错误
git config --list
#全局配置 user.name/password/email
git config --global user.name 名字
git config --global user.password 密码
git config --global user.email 邮箱
#删除.ssh下的公钥私钥
cd /.ssh
rm -rf id_rsa
rm -rf id_rsa.pub
#重新生成公钥私钥
ssh-keygen -t rsa -C "useremail"
#复制 id_rsa.pub全部内容到gitlab上,setting ssh key即可
附带一些常用的命令
#从远程仓库拉取代码
git clone xxx(链接地址)
#查看工作树状态
git status
#切master分支
git checkout master
#切换并创建分支
git checkout -b new_BRANCH_1.0
#拉取代码
git pull
#拉取指定分支代码到创建的分支里
git branch --set-upstream-to=origin/cityservice_1-0-99_BRANCH cityservice_1-0-114_BRANCH
#查看当前所属的分支
git branch
#查看全部分支
git branch -a
总结
遇到报错不要慌,先看具体报错位置,初步判定下原因,可能它就不是一个报错呐。试着去找解决办法。总会解决!今日报错,解决!