• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

git命令行查看某个文件的修改历史

武飞扬头像
coder_szc
帮助6

背景

有时在AS中右击文件行号左侧空白处查看修改历史,但此时Annotate是灰色的,这时就需要用git命令进行查看了

方法

假设要查看的文件是build.gradle,则对应的命令就为

➜  first git:(szc) git log -p build.gradle

结果如下图所示

学新通

输出内容持久化

我们可以把结果重定向到一个文件中,这样查看起来更方便

➜  first git:(szc) git log -p build.gradle > ../output.txt

 cat一下输出文件即可

  1.  
    ➜ first git:(szc) cat ../output.txt
  2.  
    commit f524eeda210b6d2e92dcd43dc13f1831d5bcf94c
  3.  
    Author: songzeceng <392004248@qq.com>
  4.  
    Date: Thu Dec 12 21:08:09 2019 0800
  5.  
     
  6.  
     
  7.  
    KeyStore加解密
  8.  
     
  9.  
     
  10.  
    diff --git a/build.gradle b/build.gradle
  11.  
    index 8f91621..20ea27a 100644
  12.  
    --- a/build.gradle
  13.  
    b/build.gradle
  14.  
    @@ -7,7 7,7 @@ buildscript {
  15.  
    jcenter()
  16.  
    }
  17.  
    dependencies {
  18.  
    - classpath 'com.android.tools.build:gradle:3.5.2'
  19.  
    classpath 'com.android.tools.build:gradle:3.5.3'
  20.  
    // classpath 'com.谷歌.protobuf:protobuf-gradle-plugin:0.8.6'
  21.  
    // protobuf插件,AS3.0需要protobuf版本在0.8.2及以上
  22.  
     
  23.  
     
  24.  
     
  25.  
     
  26.  
    commit 282b486ac2fa2df7edb0c9ebabc47b6491b32634
  27.  
    Author: songzeceng <392004248@qq.com>
  28.  
    Date: Wed Nov 27 10:08:59 2019 0800
  29.  
     
  30.  
     
  31.  
    去掉protobuf依赖
  32.  
     
  33.  
     
  34.  
    diff --git a/build.gradle b/build.gradle
  35.  
    index 0a39454..8f91621 100644
  36.  
    --- a/build.gradle
  37.  
    b/build.gradle
  38.  
    @@ -7,8 7,8 @@ buildscript {
  39.  
    jcenter()
  40.  
    }
  41.  
    dependencies {
  42.  
    - classpath 'com.android.tools.build:gradle:3.0.1'
  43.  
    - classpath 'com.谷歌.protobuf:protobuf-gradle-plugin:0.8.2'
  44.  
    classpath 'com.android.tools.build:gradle:3.5.2'
  45.  
    // classpath 'com.谷歌.protobuf:protobuf-gradle-plugin:0.8.6'
  46.  
    // protobuf插件,AS3.0需要protobuf版本在0.8.2及以上
  47.  
     
  48.  
     
  49.  
    //compile 'com.android.support:appcompat-v7:26.0.0'
  50.  
     
  51.  
     
  52.  
    commit f3f13da57e62c63b374de48bd991173b28165fc2
  53.  
    Author: songzeceng <songzeceng@360buyad.local>
  54.  
    Date: Fri Feb 15 14:04:45 2019 0800
  55.  
     
  56.  
     
  57.  
    protobuf的使用
  58.  
     
  59.  
     
  60.  
    diff --git a/build.gradle b/build.gradle
  61.  
    index 02a3812..0a39454 100644
  62.  
    --- a/build.gradle
  63.  
    b/build.gradle
  64.  
    @@ -8,6 8,9 @@ buildscript {
  65.  
    }
  66.  
    dependencies {
  67.  
    classpath 'com.android.tools.build:gradle:3.0.1'
  68.  
    classpath 'com.谷歌.protobuf:protobuf-gradle-plugin:0.8.2'
  69.  
    // protobuf插件,AS3.0需要protobuf版本在0.8.2及以上
  70.  
  71.  
    //compile 'com.android.support:appcompat-v7:26.0.0'
  72.  
    // NOTE: Do not place your application dependencies here; they belong
  73.  
    // in the individual module build.gradle files
  74.  
     
  75.  
     
  76.  
    commit 0a4138cb58576c84cc266b25c239c71b9cd1ab7f
  77.  
    Author: Song zeceng <songzeceng@bytedance.com>
  78.  
    Date: Sun Feb 11 11:10:21 2018 0800
  79.  
     
  80.  
     
  81.  
    2018/02/11
  82.  
     
  83.  
     
  84.  
    diff --git a/build.gradle b/build.gradle
  85.  
    new file mode 100644
  86.  
    index 0000000..02a3812
  87.  
    --- /dev/null
  88.  
    b/build.gradle
  89.  
    @@ -0,0 1,29 @@
  90.  
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
  91.  
  92.  
    buildscript {
  93.  
  94.  
    repositories {
  95.  
    谷歌()
  96.  
    jcenter()
  97.  
    }
  98.  
    dependencies {
  99.  
    classpath 'com.android.tools.build:gradle:3.0.1'
  100.  
    //compile 'com.android.support:appcompat-v7:26.0.0'
  101.  
    // NOTE: Do not place your application dependencies here; they belong
  102.  
    // in the individual module build.gradle files
  103.  
    }
  104.  
    }
  105.  
  106.  
    allprojects {
  107.  
    repositories {
  108.  
    谷歌()
  109.  
    jcenter()
  110.  
    maven {
  111.  
    url "https://maven.谷歌.com"
  112.  
    }
  113.  
    }
  114.  
    }
  115.  
  116.  
    task clean(type: Delete) {
  117.  
    delete rootProject.buildDir
  118.  
    }
学新通

输出内容解析

从上往下是从新到旧的每个提交信息,每一个提交信息的格式都是

  1.  
    commit commitID
  2.  
    Author: 作者名 <作者邮箱>
  3.  
    Date: 提交时间,星期 月 日 时:分:秒 年 时区
  4.  
     
  5.  
     
  6.  
    提交信息
  7.  
     
  8.  
     
  9.  
    diff --git a/提交前当前文件相对路径 b/提交后当前文件相对路径
  10.  
    提交索引
  11.  
    对源文件1的修改信息

举个例子:

  1.  
    commit f524eeda210b6d2e92dcd43dc13f1831d5bcf94c
  2.  
    Author: songzeceng <392004248@qq.com>
  3.  
    Date: Thu Dec 12 21:08:09 2019 0800
  4.  
     
  5.  
     
  6.  
    KeyStore加解密
  7.  
     
  8.  
     
  9.  
    diff --git a/build.gradle b/build.gradle
  10.  
    index 8f91621..20ea27a 100644
  11.  
    --- a/build.gradle
  12.  
    b/build.gradle
  13.  
    @@ -7,7 7,7 @@ buildscript {
  14.  
    jcenter()
  15.  
    }
  16.  
    dependencies {
  17.  
    - classpath 'com.android.tools.build:gradle:3.5.2'
  18.  
    classpath 'com.android.tools.build:gradle:3.5.3'
  19.  
    // classpath 'com.谷歌.protobuf:protobuf-gradle-plugin:0.8.6'
  20.  
    // protobuf插件,AS3.0需要protobuf版本在0.8.2及以上
学新通

以上提交信息表示我在19年12月12号晚上9:08发起了一个提交,build/gradle的提交内容就是修改了下com.android.tools.build:gradle的版本(3.5.2->3.5.3)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfibjcc
系列文章
更多 icon
同类精品
更多 icon
继续加载