软件开发主要以团队合作为主,版本管理工具的熟练使用更是工作的基本技能,除了基本git命令:git clone、git add、git commit、git pull、git push之外,还要掌握git分支管理和处理分支冲突的命令。下面我会以我平时接受任务,从创建任务分支开始列出一些常用git命令,以及我遇到的一些冲突和解决方法。
git分支管理
根据实际任务和公司规定,确定是在哪个分支下创建新分支,如果不在你现在分支下,先切换分支再创建。(一般很多开发工具都提供git操作快捷方式,如vscode、webStorm)
(1)切换分支
#列出所有本地分支
$ git branch
#切换到指定分支,并更新工作区
$ git checkout [branch-name]
(2)创建分支
#新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
#新建一个分支,并切换到该分支
$ git checkout -b [branch]
(3)合并分支
#将本地的local分支内容合并到master分支
$ git merge
(4)本地分支和远程分支冲突
#在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
$ git fetch origin master:temp
#比较本地代码与刚刚从远程下载下来的代码的区别
$ git diff temp
#合并temp分支到本地的master分支
$ git merge temp
#如果不想保留temp分支,删除
$ git branch -d temp
(5)回退版本
#显示暂存区和工作区的差异
$ git diff
#显示当前分支的版本历史,可以查看每个版本的commit Id
$ git log
#重置当前分支的HEAD为指定commit Id,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit Id]
补:reset起撤销commit的作用。同时配合参数还可以修改工作区和暂存区(具体影响看模式,hard,soft,mixed)
图片来自此日志
git提交报错
解决方法:
$ git add .
$ git commit -m add
$ git pull
$ git push