Git的查看,对比,撤销,修改,重写

1. 查看与对比
1
2
3
4
5
6
7
8
9
10
11
12
13
14
git show (commit/tag/tree/blog)
git show master^(master~) //查看master下的第一副提交
git show master^2 //查看master下的第二副提交
git show --oneline //将信息缩减
git show --stat //输出commit的改变统计信息
git log //查看完整commit 信息
git log -p //输出每一个commit之间的差异信息
git log --stat //输出每一个commit之间差异的统计信息
git diff //输出工作区与暂存区之间的差异
git diff --cached //查看暂存区当前与历史的差异
git diff HEAD HEAD~2 //比较两个commit之间的差异
git diff HEAD HEAD~2 master.txt //比较两个commit的某个文件的差异
git diff --color-words //输出具体单词的差异用不同的颜色标出
git diff --word-diff //输出具体单词的差异
2.撤销与修改
1
2
3
4
5
6
7
git checkout  //创建和切换分支,还原工作区
git reset //还原暂存区
git clean //清除还没添加到暂存区的文件 -n 显示将要删除的文件 -f 删除文件 -df 删除文件和目录
//需要注意的是在 .gitignore 文件中忽略的文件不会被删除,如果需要删除.gitignore忽略的
//文件使用 git clean -n -X(大写) git clean -f -X(大写) 删除
git revert //产生一个新的提交来覆盖原来提交产生的修改
git checkout (tag/hash..能代表一个commit的关键字) -- master.txt ///在文件修改还没添加到暂存区时,用暂存区的内容覆盖工作区
3.重写历史纪录
1
2
3
4
5
6
7
git commit --amend //用来产生一个新的提交来替换当前产生的这个提交
git rebase master(分支名) //产生一个线性的合并提交,产生的commit类似于
//从(分支名)中衍生出来,执行 git rebase --continue 前需要先add
git reflog //维护了HEAD引用的历史
git reset --hard HEAD@{5} //还原到HEAD引用历史指向的commit,还原暂存区和工作区
git reset --mixed // 还原了暂存区并没有还原工作区
git reset --soft (分支名) //什么都不还原,只是把HEAD指向分支引用
1
//SINCE 20160119

我的博客网站:http://huyuxin.top/欢迎大家访问!评论!

您的一份奖励,就是我的一份激励