码迷,mamicode.com
首页 > 其他好文 > 详细

git 查看文件修改记录

时间:2016-02-03 10:47:02      阅读:653      评论:0      收藏:0      [点我收藏+]

标签:

今天追了个几年前留下来的坑, 在 git 里追溯修改过程坑死个爹, 具体方法估计没多久又会忘, 还是记下来以后有的参考

   大部分教程都会告诉大家使用 git log 来查看对应文件的修改记录, 就像这样

git log ./foo/bar.py

   但是这样默认是只显示提交信息摘要, 你也不知道具体哪里改了, 所以需要加上 -p 参数来显示具体修改内容. 如果这个文件改动频繁, 那么可能只想看最近几次的修改, 再加上一个 -[Num] 的参数来显示最近几次. 要想指定从某个版本往前, 直接指定版本号

git log -p ./foo/bar.py
git log -p -2 ./foo/bar.py
git log -p -2 74f6c40c ./foo/bar.py

   但是如果是追一个不知道什么时候埋下的坑, 可能更需要知道某一行到底是啥时候改的, 这时候应该用 git blame 来看每一行的最后提交是哪一个, 像这样

git blame ./foo/bar.py

   执行后进入像 less 一样的操作环境, 类 VIM 的翻页操作, 也可以用 / 或 ? 来查找, 不过这么看还是有点乱, 整个文件都标出来了, 如果我们只是想知道确定的某几行的历史呢? 祭出 -L n,m 参数

git blame -L 5,10 ./foo/bar.py
git blame -L 5,+5 ./foo/bar.py

   这样可以定位到某一行最后一次修改是哪个提交, 如果还要想继续往前找? 那么找到上一次修改的提交, 看在上次提交里的行数, 以上一次修改的提交号, 加上上一次修改对应的行数去继续往前

> git blame -L 8,+1 ./foo/bar.py
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    8) import StringIO
  
> git blame 74f6c40c ./foo/bar.py
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    1) # coding: utf8
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    2)
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    3) from bson importObjectId
8b569399 (Wen YE    2015-06-17 12:17:32 +0800    4) import collections
be417d12 (Wen YE    2012-09-25 15:03:00 +0800    5) from datetimeimport datetime, timedelta
299e78b7 (Wen YE    2013-08-26 20:11:59 +0800    6) import json
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    7) import logging
8b569399 (Wen YE    2015-06-17 12:17:32 +0800    8) import os
74f6c40c (Wen YE    2015-06-17 12:17:55 +0800    9) import StringIO
  
# 到头了, 那就是这个提交引入的, 看看改了什么
> git log -p -1 74f6c40c ./foo/bar.py

   当然, 期间配合 Source Tree 之类的图形化工具来对比提交的 diff 比用 git log 这样的命令行查看更方便, git blame 也只是看某行的最后修改, 并不能很直观的看出来那一次提交到底修改了什么, 而且没有代码高亮和对比

   我用的 git blame 定位到上一次提交, 在 Source Tree 里去看那个提交的具体修改内容, 如果还要往前追溯, 按 Source Tree 里看到的上一次提交里的行号, 带版本号继续 git blame, 再到 Source Tree 里看对应版本的修改, 直到尽头

git 查看文件修改记录

标签:

原文地址:http://www.cnblogs.com/leetieniu2014/p/5179096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!