git reset 命令参数以及区别:
git reset --soft:不会修改工作区和暂存区,在本地库移动HEAD指针
git reset --mixed:在本地库移动HEAD指针,重置暂存区
git reset --hard:在本地库移动HEAD指针,重置暂存区,重置工作区,使保持一致
删除文件:
前提:删除前该文件存在时的状态已经提交到本地库
git rm 文件名:删除文件
找回文件:
删除操作已经提交到本地库:git reset --hard [指针位置]
删除操作还没提交到本地库:git reset --hard HEAD
比较文件:
git diff <文件名>:将工作区的文件和暂存区对应的文件进行比较
git diff [本地库某个历史版本] <文件名>:将工作区的文件和本地库某个历史版本进行比较
创建并合并分支:
创建分支:git branch <name>
切换分支:git checkout <name> / git switch <name>
创建并切换分支:git checkout -b <name> / git switch -c d <name>(推荐)
查看分支:git branch
会列出所有分支,当前分支前面有*号
合并分支和解决冲突:
比如在dev分支上做了如下修改(在第四行添加一行内容),然后提交到本地库
切回master分支,这时候并看不到dev修改的内容,然后做同样的修改:
合并dev分支到当前分支:git merge dev
这时候要把dev分支的内容合并到master分支上,会提示存在冲突,需要手动解决冲突
查看冲突的文件:用<<<<<<<,=======,>>>>>>>标记冲突的内容
修改文件为我们想要的结果:
然后执行提交命令,注意:提交解决冲突文件时,git commit -m''后面不用写文件名。这样解决冲突就完成了。
可以用git log --graph命令来查看分支合并图: