HTML5中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 947|回复: 0

[文章] Git基本操作(七)

[复制链接]

该用户从未签到

发表于 2016-1-1 18:03:06 | 显示全部楼层 |阅读模式
历史记录

1. 唯一ID
每一次“commit”都会有一个唯一的名称。如下黑体字所示:
  1. $ git log
  2. commit 5b888402aadd3cd41b3fe8c84a8658da07893b20
  3. Author: rocrocket <wupengchong@gmail.com>
  4. Date:   Wed Sep 24 13:16:46 2008 +0800

  5. after pull from rocrocket

  6. Hello!!!!!
复制代码
2. 查看具体Commit信息
我们使用git show再加上述的commit名称来显式更详细的commit信息:
  1. $ git show 5b888402aadd3cd41b3fe8c84a8658da07893b20
复制代码
你完全可以用一个最短的且唯一的“名称前几个字符”来只待某次commit:
  1. $ git show 5b888 //只要能区别与其他名称就足够了
复制代码
使用git show加分支名称,亦可以显示分支信息:
  1. $git show master

  2. $git show experimental
复制代码
使用HEAD字段可以代表当前分支的头(也就是最近一次commit):
  1. $git show HEAD
复制代码
每一次commit都会有”parent commit”,可以使用^表示parent:
  1. $git show HEAD^ //查看HEAD的父母的信息
  2. $git show HEAD^^ //查看HEAD的父母的父母的信息
  3. $git show HEAD~4 //查看HEAD上溯4代的信息
复制代码
要注意的是git-merge是会产生双父母的,这种情况这样处理:
  1. $git show HEAD^1 //查看HEAD的第一个父母
  2. $git show HEAD^2 //查看HEAD的第二个父母
复制代码
3. 别名
你可以给复杂名称起个别名:
  1. $ git tag V3 5b888 //以后可以用V3来代替复杂的名称(5b888…)
  2. $ git show V3
  3. $ git branch stable V3 //建立一个基于V3的分支
复制代码
4. 检索
可以用git grep帮助我们搜索:
  1. $ git grep “print” V3 //在V3中搜索所有的包含print的行
  2. $ git grep “print” //在所有的历史记录中搜索包含print的行
复制代码
5. 定位具体记录
  1. $ git log V3..V7 //显示V3之后直至V7的所有历史记录
  2. $ git log V3.. //显示所有V3之后的历史记录。注意<since>..<until>中任何一个被省略都将被默认设置为HEAD。所以如果使用..<until>的话,git log在大部分情况下会输出空的。

  3. $ git log –since=”2 weeks ago” //显示2周前到现在的所有历史记录。具体语法可查询git-ref-parse命令的帮助文件。
  4. $ git log stable..experimental //将显示在experimental分支但不在stable分支的历史记录
  5. $ git log experimental..stable //将显示在stable分支但不在experimental分支的历史记录
复制代码



HTML5中国微信

小黑屋|关于我们|HTML5论坛|友情链接|手机版|HTML5中国 ( 京ICP备11006447号 京公网安备:11010802018489号  

GMT+8, 2017-3-25 05:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表