21.查看不一样版本直接的变更和差别
情景:某次将本身的分支版本和远程master合并解决冲突后发现之前可以正常运行的程序的没法正常运行了
但又忘记合并解决冲突时修改了哪些代码。
解决方案:
1- 经过git log 查找某次commit的hash值
git log --graph --oneline --decorate
git
2- 查看那些文件发生了变化(HEAD是当前分支版本能够换成其余的)
git diff 2fcbff8..HEAD --statblog
3- 查看具体变化
git diff 2fcbff8..HEAD
get
4-查看文件的每个详细的历史修改,若是没有-p选项,只显示提交记录,不显示文件内容修改hash
git log –p filenameit
git log –p –3 filename //显示ast
5- 查看文件的每一行是哪一个提交最后修改的test
git blame filenamefile
6- 查看载入但并未提交的文件差别程序
git diff --stagedim
git diff 和git log -p效果是同样的
7- 列出某个文件的具体修改历史而后再经过commit的hash值查看某次改动的具体修改
git log --oneline test.cpp
git show 12e9624cae843f2b5 //某个具体修改的hash值
8- 查看载入但并未提交的变动
git diff --stage
9- 在合并某分支前查看变动内容
git diff dev...master
22.文件删除与重命名
git rm test.cpp //删除,这与直接rm掉是有区别的
git mv test.cpp test.hpp //重命名,这两个操做记得都要提交哦
23.文件恢复
git reset 9aa51d89799716aa68cff3f test.cpp //经过hash恢复到某个历史版本
git reset test.cpp //没有提交的话能够恢复到当前版本HEAD.....完善中