首页 > 其他分享 >git - 揪出来改你代码的人

git - 揪出来改你代码的人

时间:2024-03-04 18:56:36浏览次数:28  
标签:git requirements openpyxl 揪出来 3.1 commit txt 代码

先查找某个文件的历史修改记录,然后根据关键信息匹配对应的更改,根据具体情况显示更改的前N行,就能查到commit信息了!

比如我要查看是谁删掉了我requirements.txt文件的这行代码openpyxl==3.1.2

执行下面的命令就查到commit信息了

 ➜  e100_v2 git:(3.3/dev) git log -p -- requirements.txt | grep -B 15 '\-.*openpyxl==3.1.2'

commit 11f04311b919a175c87016aabfdbdcc634849cd7
Author: 侯佳奇 <[email protected]>
Date:   Tue Aug 29 14:52:20 2023 +0800

    feat:done

diff --git a/requirements.txt b/requirements.txt
index fa6818af..321fb562 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -71,4 +71,5 @@ pycryptodome==3.15.0
 pillow==9.2.0
 python-dateutil==2.8.2
 SensorsAnalyticsSDK==1.10.3
-openpyxl==3.1.2

解释一下:

git log -- <filepath> 可以查看某个文件的修改记录 -p 参数会显示每次提交的内容

利用grep进行关键字搜索, -B <n> 参数显示结果行+结果行前n行的内容.

上面的命令结合grep做的操作. 那么git本身能不能对修改内容进行模糊匹配?

查了下有的, git log -G 可以做正则匹配

➜  e100_v2 git:(3.3/dev) git log -G'openpyxl==3.1.2' -p
commit 11f04311b919a175c87016aabfdbdcc634849cd7
Author: 侯佳奇 <[email protected]>
Date:   Tue Aug 29 14:52:20 2023 +0800

    feat:done

diff --git a/requirements.txt b/requirements.txt
index fa6818af..321fb562 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -71,4 +71,5 @@ pycryptodome==3.15.0
 pillow==9.2.0
 python-dateutil==2.8.2
 SensorsAnalyticsSDK==1.10.3
-openpyxl==3.1.2
\ No newline at end of file
+openpyxl==3.1.2
+minio==7.1.16

commit b3aa26b4d338cf63b5f46f848e27f9ba0e5a7e65
Author: gaozengzeng <[email protected]>
Date:   Fri Aug 18 17:46:09 2023 +0800

    feat: 添加导出功能

diff --git a/requirements.txt b/requirements.txt
index 597d72af..fa6818af 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -70,4 +70,5 @@ zope.interface==5.4.0
 pycryptodome==3.15.0
 pillow==9.2.0
 python-dateutil==2.8.2
-SensorsAnalyticsSDK==1.10.3
\ No newline at end of file
+SensorsAnalyticsSDK==1.10.3
+openpyxl==3.1.2
\ No newline at end of file
(END)

这个查出了添加和删除时的两个commit, 有没有办法只显示添加的或者删除的?

...

标签:git,requirements,openpyxl,揪出来,3.1,commit,txt,代码
From: https://www.cnblogs.com/houchuanqi/p/18052417

相关文章

  • TortoiseGit使用问题总结
    1、安装和汉化https://blog.csdn.net/qq_42889406/article/details/1087633882、基本使用和克隆https://zhuanlan.zhihu.com/p/3818512073、TortoiseGitPlink提示输入密码https://blog.csdn.net/lala1583165/article/details/108277387......
  • 表格中一个列选择值后,联动带出另一个列的值(代码版)
    下拉选择仓库,带出仓库的描述在另外一列因为服务里,设置OnGetValue不生效,所以选择写代码实现。代码如下:protectedoverridevoidOnLoad(System.EventArgse){base.OnLoad(e);Grid_OrdersDetails.RowUpdated+=newJQGridEventHandler(Gri......
  • day54 动态规划part11 代码随想录算法训练营 188. 买卖股票的最佳时机 IV
    题目:188.买卖股票的最佳时机IV我的感悟:我真棒!!理解难点:类比上一道题,掌握不好边界,就代入一个数值来推为什么是2K+1,因为要遍历到下标是[2K]听课笔记:我的代码:classSolution:defmaxProfit(self,k:int,prices:List[int])->int:iflen(prices)==1:......
  • git diff去除^M的方法
     在使用Git进行版本控制时,有时候会遇到在文件中出现了^M字符的情况。这个问题通常出现在Windows操作系统中,并且会影响文件在不同操作系统之间的可移植性。^M字符是回车符的表示,在Windows操作系统中,每个文本行的结尾都是由回车符(\r)和换行符(\n)组成的,而在类Unix......
  • 代码随想录 第13天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结
    leetcode:239.滑动窗口最大值-力扣(LeetCode)思路:看了挺长时间才反应过来与暴力算法的区别。当遇到比上一个元素大的值时,将上一个元素剔除,小于时加入队列中,每次等于窗口长度时将顶端也就是最大值存起来classSolution{publicint[]maxSlidingWindow(int[]nums,intk)......
  • day54 动态规划part11 代码随想录算法训练营 123. 买卖股票的最佳时机 III
    题目:123.买卖股票的最佳时机III我的感悟:困难像弹簧,你强他就弱,你弱它就强!理解难点:5个状态,听课笔记:我的代码:classSolution:defmaxProfit(self,prices:List[int])->int:iflen(prices)==1:return0#5种状态#dp[i......
  • git常用命令
    1、创建仓库和配置仓库#初始化仓库gitinitgitadd.gitcommit-m"initcommit"gitremoteaddorigin<https://...>gitpush-uoriginmaster#查看git用户名和邮箱gitconfiguser.namegitconfiguser.email#设置全局用户名和邮箱gitconfig--globaluser.......
  • 【代码更新】IIC时序——读写EEPROM
    【代码更新】IIC时序——读写EEPROM    整体代码:1//---->50MHz--->20ns100KHz---->10000ns2`timescale1ns/1ps3moduleeeprom_i2c#(parameterSCL_CYC=1000)//100KHz4(5inputclk,6inputrst_n,78......
  • Git 使用
    更新改动的代码到仓库gitadd.gitcommit-m"24-03-04:ignorefile"gitpushoriginmaster拉取不同版本gitloggitcheckout35d2c50c8655ca04c8ba10f3fc91b69247f38632.gitignore规则不生效.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入......
  • 使用Git修改文件名字的大小写
    问题背景最近发现window对文件名的大小写不敏感,如果想把文件夹start,修改成Start,让git有变化。应该怎么做呢,直接看黑框操作步骤解决方案第一步:将文件(夹)更改大小写$mvstartStart第二步:从Git中清除现有文件(夹)的跟踪状态$gitrm-r--cachedstart第三步:将更改后的文件(......