git使用(二)(转载)
2009-10-21 11:26
519 查看
原文地址:http://roclinux.cn/?p=357
本次将重点关注历史记录查询。
1
git的历史记录是由一些列相关联的”commit”所组成的。每一次“commit”都会有一个唯一的名称。如下黑体字所示:
[rocrocket@wupengchong project]$ git log
commit 5b888402aadd3cd41b3fe8c84a8658da07893b20
Author: rocrocket <wupengchong@gmail.com>
Date: Wed Sep 24 13:16:46 2008 +0800
after pull from rocrocket
Hello!!!!!
2
我们可以使用git show再加上述的commit名称来显式更详细的commit信息:
[rocrocket@wupengchong project]$ git show 5b888402aadd3cd41b3fe8c84a8658da07893b20
你完全可以用一个最短的且唯一的“名称前几个字符”来只待某次commit:
[rocrocket@wupengchong project]$ git show 5b888 //只要能区别与其他名称就足够了
使用git show加分支名称,亦可以显示分支信息:
[rocrocket@wupengchong project]$git show master
[rocrocket@wupengchong project]$git show experimental
使用HEAD字段可以代表当前分支的头(也就是最近一次commit):
[rocrocket@wupengchong project]$git show HEAD
每一次commit都会有”parent commit”,可以使用^表示parent:
[rocrocket@wupengchong project]$git show HEAD^ //查看HEAD的父母的信息
[rocrocket@wupengchong project]$git show HEAD^^ //查看HEAD的父母的父母的信息
[rocrocket@wupengchong project]$git show HEAD~4 //查看HEAD上溯4代的信息
要注意的是git-merge是会产生双父母的,这种情况这样处理:
[rocrocket@wupengchong project]$git show HEAD^1 //查看HEAD的第一个父母
[rocrocket@wupengchong project]$git show HEAD^2 //查看HEAD的第二个父母
3
你可以给复杂名称起个别名:
[rocrocket@wupengchong project]$ git tag V3 5b888 //以后可以用V3来代替复杂的名称(5b888…)
[rocrocket@wupengchong project]$ git show V3
[rocrocket@wupengchong project]$ git branch stable V3 //建立一个基于V3的分支
4
可以用git grep帮助我们搜索:
[rocrocket@wupengchong project]$ git grep “print” V3 //在V3中搜索所有的包含print的行
[rocrocket@wupengchong project]$ git grep “print” //在所有的历史记录中搜索包含print的行
5
定位具体的历史记录
[rocrocket@wupengchong project]$ git log V3..V7 //显示V3之后直至V7的所有历史记录
[rocrocket@wupengchong project]$ git log V3..
//显示所有V3之后的历史记录。注意<since>..<until>中任何一个被省略都将被默认设置为HEAD。所以如果使
用..<until>的话,git log在大部分情况下会输出空的。
[rocrocket@wupengchong project]$ git log –since=”2 weeks ago” //显示2周前到现在的所有历史记录。具体语法可查询git-ref-parse命令的帮助文件。
[rocrocket@wupengchong project]$ git log stable..experimental //将显示在experimental分支但不在stable分支的历史记录
[rocrocket@wupengchong project]$ git log experimental..stable //将显示在stable分支但不在experimental分支的历史记录
6
你最喜欢的gitk也可以定位具体的历史记录:
[rocrocket@wupengchong project]$ gitk –since=”2 weeks ago” drivers/ //将在GUI中显示自2周前到现在为止的且位于drivers目录下的分支记录信息
本次将重点关注历史记录查询。
1
git的历史记录是由一些列相关联的”commit”所组成的。每一次“commit”都会有一个唯一的名称。如下黑体字所示:
[rocrocket@wupengchong project]$ git log
commit 5b888402aadd3cd41b3fe8c84a8658da07893b20
Author: rocrocket <wupengchong@gmail.com>
Date: Wed Sep 24 13:16:46 2008 +0800
after pull from rocrocket
Hello!!!!!
2
我们可以使用git show再加上述的commit名称来显式更详细的commit信息:
[rocrocket@wupengchong project]$ git show 5b888402aadd3cd41b3fe8c84a8658da07893b20
你完全可以用一个最短的且唯一的“名称前几个字符”来只待某次commit:
[rocrocket@wupengchong project]$ git show 5b888 //只要能区别与其他名称就足够了
使用git show加分支名称,亦可以显示分支信息:
[rocrocket@wupengchong project]$git show master
[rocrocket@wupengchong project]$git show experimental
使用HEAD字段可以代表当前分支的头(也就是最近一次commit):
[rocrocket@wupengchong project]$git show HEAD
每一次commit都会有”parent commit”,可以使用^表示parent:
[rocrocket@wupengchong project]$git show HEAD^ //查看HEAD的父母的信息
[rocrocket@wupengchong project]$git show HEAD^^ //查看HEAD的父母的父母的信息
[rocrocket@wupengchong project]$git show HEAD~4 //查看HEAD上溯4代的信息
要注意的是git-merge是会产生双父母的,这种情况这样处理:
[rocrocket@wupengchong project]$git show HEAD^1 //查看HEAD的第一个父母
[rocrocket@wupengchong project]$git show HEAD^2 //查看HEAD的第二个父母
3
你可以给复杂名称起个别名:
[rocrocket@wupengchong project]$ git tag V3 5b888 //以后可以用V3来代替复杂的名称(5b888…)
[rocrocket@wupengchong project]$ git show V3
[rocrocket@wupengchong project]$ git branch stable V3 //建立一个基于V3的分支
4
可以用git grep帮助我们搜索:
[rocrocket@wupengchong project]$ git grep “print” V3 //在V3中搜索所有的包含print的行
[rocrocket@wupengchong project]$ git grep “print” //在所有的历史记录中搜索包含print的行
5
定位具体的历史记录
[rocrocket@wupengchong project]$ git log V3..V7 //显示V3之后直至V7的所有历史记录
[rocrocket@wupengchong project]$ git log V3..
//显示所有V3之后的历史记录。注意<since>..<until>中任何一个被省略都将被默认设置为HEAD。所以如果使
用..<until>的话,git log在大部分情况下会输出空的。
[rocrocket@wupengchong project]$ git log –since=”2 weeks ago” //显示2周前到现在的所有历史记录。具体语法可查询git-ref-parse命令的帮助文件。
[rocrocket@wupengchong project]$ git log stable..experimental //将显示在experimental分支但不在stable分支的历史记录
[rocrocket@wupengchong project]$ git log experimental..stable //将显示在stable分支但不在experimental分支的历史记录
6
你最喜欢的gitk也可以定位具体的历史记录:
[rocrocket@wupengchong project]$ gitk –since=”2 weeks ago” drivers/ //将在GUI中显示自2周前到现在为止的且位于drivers目录下的分支记录信息
相关文章推荐
- (转载)Git使用教程
- 【转载】新浪云Git代码仓库使用入门
- (转载)git使用
- Git 系列之三:Windows 下 Git 配置与使用指南-转载
- git使用(三)(转载)
- [转载]Git安装以及使用Git 管理个人文档
- Git与SourceTree使用详细指南 --转载自孟哥博客20160302
- 【转载】使用git将本地项目上传到github
- 转载:详解在visual studio中使用git版本系统(图文)
- Idea中Git的使用和两种类型的冲突解决 转载
- Git使用详细教程 转载 2016年03月23日 23:20:53 标签: git / 教程 / 命令 一:Git是什么? Git是目前世界上最先进的分布式版
- 一日入门: Git 使用(转载steven)
- 【转载】如何使用Git上传项目代码到github
- git使用(四)(转载)
- Git使用与配置(转载)
- Git 安装和使用教程(转载)
- 转载eclipse-git使用教程
- (转载)在Visual Studio 2015中使用Git
- git的使用总结【干货·转载】
- 【转载】GIT服务器使用手册说明