zoukankan      html  css  js  c++  java
  • git 常用命令

    一, git 常用命令

    1. 按时间来打印 git 的 log 日志,适用于一个分支
      git log master..anchor_moments --author=liuzhu --pretty=format:"%an, %ar : %s" --after="2019-06-15" --no-merges > 3.1.18.txt
    2. 查看 updateAppStoreRate 中比 master 中多提交了哪些内容 
       git log master..updateAppStoreRate > 3.1.18.txt 
       //(PS: updateAppStoreRate 分支是从 master 分支拉取的)
      git log master..updateAppStoreRate --pretty="%cr - %s" --author=liuzhu > 3.1.18.txt
    3.  查看两个标签(Tag)之间的提交

       git log v4.0.49.4900...v4.1.0.4913 > 4.1.0.txt
    4. 回顾自己在项目中遇到的问题,只查看我自己的提交
       git log --pretty="%cr - %s" --author=liuzhu --since="2017-08-30">3.2.1.txt
      git log --pretty="%cr - %s"  --since="2020-06-12">2.7.5.txt
      // 22 hours ago - 更改版本号3.2.1.4922
    5. 查看当前分支的提交内容,并用一行来简洁显示
      git log --pretty=oneline
      // 93b5cfe374a53e4893e4ef7efe4a5b9f3db3fa07 重新编译sdk
      // 8746811fba949c368937673dc6480ba569b7ffbf 更改版本号3.2.1.4922
    6. 如果提交了错误的内容, 可以使用 sourcetree 的 "reset 分支名 to this commit" 命令回滚代码, 若不想让同事看到这次提交的内容, 可以使用如下方法:
      1. git log : 查看要回滚到的某次提交的 md5值.
      localhost:pandalive-iOS liuzhu$ git log
      commit e11ea671f8d1be23e19af25861bac6ea32f9e25e (HEAD -> RainbowGift)
      Author: 刘著 <liuzhu@panda.tv>....
      
      2. git reset + md5值 : 回滚到有正确的提交的 md5值 
      localhost:pandalive-iOS liuzhu$ git reset 5185f23c1ac37fbe390ccd75307f4a7ac7c9fba7
      Unstaged changes after reset:....
      
      3. git checkout * : 丢弃掉刚刚回滚的提交
      localhost:pandalive-iOS liuzhu$ git checkout *
      
      4. git log : 查看结果, 果真没有这个提交了
      注意:
      1. "git reset --hard +md5" 命令可以让当前分支强制切到某一个提交, 看不到已经删除的所有提交记录, 类似于.
      2. "git reset +md5" 命令等价于"git reset --mix +md5", 可以观察自己在某个提交后做的所有更改
      3. "checkout *" 命令相当于重置没有缓存的所有内容
    7. 也可以用如下方法:
    1. 在没有问题的提交处, 新建分支 A.
    2. 删除有问题的分支 B
    3. 拉取服务器对应的分支 B.
    4. 将从服务器拉取的分支 B 合并分支 A.
    1. 通过名称模糊查找某次提交,并查看其内容
      1 git log --grep=接口
      2 git show 50e632a971f997cd16bec10d82783e9c96172576
    2. 查看当前分支的提交内容和时间,可以用如下命令
      1 git log --pretty=format:"%h - %an, %ar : %s"
      2 // 93b5cfe37 - wangyuheng, 17 hours ago : 重新编译sdk
      3 // 8746811fb - liuzhu, 18 hours ago : 更改版本号3.2.1.4922
       1 // 参数意义
       2 选项     说明
       3 %H    提交对象(commit)的完整哈希字串
       4 %h    提交对象的简短哈希字串
       5 %T    树对象(tree)的完整哈希字串
       6 %t    树对象的简短哈希字串
       7 %P    父对象(parent)的完整哈希字串
       8 %p    父对象的简短哈希字串
       9 %an    作者(author)的名字
      10 %ae    作者的电子邮件地址
      11 %ad    作者修订日期(可以用 -date= 选项定制格式)
      12 %ar    作者修订日期,按多久以前的方式显示
      13 %cn    提交者(committer)的名字
      14 %ce    提交者的电子邮件地址
      15 %cd    提交日期
      16 %cr    提交日期,按多久以前的方式显示
      17 %s    提交说明

    二,经验总结

    1.  可以通过在本地建立分支,来添加自己的注释.上传公司的代码时,再切到其他分支,避免复制太多的文件,开销太大.(毕竟 push 代码时,是按分支 push 的,就不怕本地分支传到公司服务器.)
    2. 如果需要强制切换到某个分支时,当前分支有 commit,而且不打算提交到服务器,最好的做法是在当前 commit 创建一个新的分支再切到其他分支,不然的话,在当前分支的 commit 就不会保存.
  • 相关阅读:
    应用中心无法访问时后台插件列表访问慢的优化
    HTML5 地理定位 【来自百度应用分享平台】
    快捷键补充
    进击的雨燕------------在导航上的UISearchController实现动画效果
    iOS -------- 应用程序引用系统通讯录
    字典和JSON格式字符串相互转换
    进击的雨燕--------------------Swift ? !
    Objective-C多继承的实现
    进击的雨燕------------iOS8中UIAlertController
    进击的雨燕-------------------高级运算符
  • 原文地址:https://www.cnblogs.com/lz465350/p/5535885.html
Copyright © 2011-2022 走看看