首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git查看某个文件的提交记录

有时候分析漏洞我们需要看看怎么修复的,什么时候谁修复的,提交的id是多少,下面的命令就很有用 假如我们知道漏洞出现在某个文件,我们只要执行下面命令,即可看到这个文件的修改记录 git log -p 文件名...比如下面的例子 $ git log -p slirp/tcp_subr.c commit 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0 Author: Prasad...看到了这个commit id,你可以用git show id去查看,不过跟上面的结果看到的是一样的 $ git show 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0...so_rcv->sb_wptr += m->m_len; so_rcv->sb_rptr += m->m_len; (END) github上直接搜索这个...commit id就可以了 题外话 更进一步,假如你想看看这个文件每一行最新是谁修改的,使用git blame 文件名 例子如下: git blame slirp/tcp_subr.c f0cbd3ec9

7600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    git 提交文件中的部分修改

    概述 在 Git 提交一个文件的时候,有时候会在同一个文件中,包含两个不同功能的修改,或者一个功能完成了,而别的部分还没有完善不应该进入代码库,这时候如果使用git add file-name的话,会将这个文件中的所有更新都提交...针对这种场景,git 提供了更细粒度的提交命令git add -p,可以分部分提交一个文件中的更新代码块,实测能满足常见的需求。这里简要记录一下如何使用这个命令。 2....实现命令 2.1 原理解释 git 中用”hunk”来表示一个文件中邻近区域中的代码修改块,比如用git diff 查看修改时,两个@@符号分割的一个区域就是一个hunk,其中行首是-,颜色为红色的为删去的行...图片 需要注意的是,git有一套默认的将文件中所有修改分成不同hunk的机制,但我们也可以将默认机制分的太大的hunk分割为多个小的hunk,这样能更精确地控制提交的粒度。...2.2 命令详解 git add -p filename就可以进入交互式的操作界面,所有的操作在该界面完成,其中-p是patch的缩写。

    37620

    Git清理commit中历史提交的大文件

    文章时间:2019年11月10日 14:02:59 解决问题:清理Git中比较大的文件,主要针对历史记录进行清理 ps:因为Git可以恢复版本,所有历史提交过的较大的文件,也会被保存下来,所以我们需要...这里方法有两种,下面方法主要介绍了其中一种 查看目录下的文件的大小 git count-objects -v # 查看 git 相关文件占用的空间 du -sh .git # 查看 .git 文件夹占用磁盘空间...因为git的历史文件都是存在一个文件里的,我们使用下面命令可以找出排名前五的文件 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3...记一次删除Git记录中的大文件的过程:https://www.hollischuang.com/archives/1708 方法二 工具化(自动机枪) 工具名称:BFG 工具地址:https://rtyley.github.io...-jar bfg.jar --delete-folders 我是文件夹的名字 hcses-warehouse.git --no-blob-protection 第四步 清理不需要的数据 在完成上面的指令后

    5.8K10

    Github删除某个文件的所有提交记录

    在使用GitHub的过程中,假如某次提交代码时不小心将敏感信息提交进了公共仓库。...如果发现得及时,本地提交后还没有推送到GitHub远程仓库的话,这种情况还好处理,直接修改代码后通过git commit --amend即可。...但如果发现时已经推送到了GitHub远程仓库,或者已过了许久,后续有了很多新的commits,这种情况就会比较复杂了。...你要删除的文件(相对项目的路径)" --prune-empty --tag-name-filter cat -- --all 2、本地记录覆盖到Github,(所有branch以及所有tags) git...push origin --force --all git push origin --force --tags 3、确保没有什么问题之后,强制解除对本地存储库中的所有对象的引用和垃圾收集 git for-each-ref

    9.8K41

    git 禁止大文件提交到仓库中

    方式 1 在服务器进行设置 如这里(gitlab 服务搭建小记)提到的 但是,这个只能限制提交到服务器,本地提交代码时无法拦截 方式 2 使用 git hooks 编写 git hooks 脚本 以下脚本来自...:Git禁止大文件提交到仓库中 | Yunfeng’s Simple Blog 修改仓库下的 .git/hooks/pre-commit 为如下内容(如果没有这个文件请新建) #!...config hooks.filesizesoftlimit 2000000 将脚本放在仓库中管理 在仓库根目录,新增 githooks 目录,将 pre-commit 放在其中,新建一个 install.bat...运行 install.bat, 会将 githooks 中的全部文件(除了 install.bat 文件本身)拷贝到 .git\hooks 目录中 遗憾的是,需要手动运行 install.bat,可以结合具体项目情况...,找个时机自动调用 install.bat 比如前端项目可以使用 husky 参考 Git禁止大文件提交到仓库中 | Yunfeng’s Simple Blog 原文链接: https://blog.jgrass.cc

    6500

    Git禁止大文件提交到仓库中

    概述 Git提交的时候,有的时候很容易将目录下的非源代码的文件(如二进制文件、模型等)提交到Git仓库里,给后续的使用造成麻烦。...那么有没有一种方法来限制提交到Git的文件的大小呢,答案是Yes,下面我来大概介绍下吧。 原理是利用Git的钩子来在commit之前执行一个脚本,在这个脚本里对提交的文件大小进行检查。...1M和10M,当提交的某个文件超过1M时,会显示警告;当超过10M时,会显示错误,导致commit失败。...需要注意的是,.git目录下的文件Git是没有跟踪的,因此在别的电脑或目录下git clone仓库后,pre-commit文件并不会被自动clone进来,需要手动添加。...我在GitHub Gist上提交了这个文件,有需要的小伙伴可以直接下载使用。

    1.8K10

    IDEA忽略文件,防止git提交不想提交的文件的探索

    这篇文章是探索git忽略文件提交的一些方面的研究,分为2个部分,内容如下 1.在项目中隐藏掉你不想看到的文件夹或者文件, 2.使用.ignore插件在IDEA中忽略你要提交的文件。...方式二、使用.ignore插件在IDEA中忽略你要提交的文件 有的时间创建的文件,不想被提交到版本控制的的选项中。在IDEA中安装.ignore插件。...创建好了之后: 1.添加.gitignore 2.将不需要提交到版本控制add ignore中 例如你创建了一个MyTest文件,首先不要git add,使用工具: 此时刚被你选中的被忽略的文件名变成了灰色...测试的文件在处于置灰状态就不能提交了!...方式 步骤1:创建changelist 步骤2:将不想提交的文件移动到你所创建的changelist里面,如下图所示: 备注:方式三在IDEA2020中找不到,官网说2020.1版本以后这个标签页默认在

    8.5K00

    git 在切换分支时有未提交的文件,怎么办? git stash

    situation 用git checkout切换本地分支从b1到b2时, 如果b1的本地文件有修改, 会发生冲突。...(b1和b2不在一个commit id上) 设b1和b2都有123.txt这个文件(这2个branch下123.txt文件内容可相同可不相同); 当前在b1下, 修改了一行123.txt, 然后想git...实际的应用场景是这样:假设你有分支master和develop。master用来release版本,develop用来开发。master上release了版本1,然后develop继续开发。...如果你在develop上开发到一半的时候,release的版本1发现了bug。这个时候,你develop分支有未提交的修改,然后你需要切换到master上的版本1进行修复。...这个时候切换到master分支,肯定是不需要把develop分支上的修改带过去的。

    3K20

    Git中忽略文件提交、取消文件追踪的方式(多中方式)

    背景 使用Git进行版本管理多人协作开发,常会遇到我们本地可能存在一套自己的配置或者某些测试文件不需要提交到远端的情况。因此需要使用Git的相关命令进行文件排除或解除追踪。...然后参照方式一进行操作即可 3.文件已经纳入了Git管理,想取消文件追踪,本地更改不提交(适用于文件比较分散或同种类型文件时) 取消追踪 # 关闭跟踪文件,修改不提交 git update-index...--assume-unchanged /xxx/xxx.java # 关闭追踪某个目录下的某种类型文件 git update-index --assume-unchanged /xxx/*.yml 恢复追踪...# 恢复跟踪文件,修改提交 git update-index --no-assume-unchanged /xxx/xxx.java # 恢复追踪某个目录下的某种类型文件 git update-index...| awk '{print $2}' |xargs git update-index --no-assume-unchanged 未经允许不得转载:肥猫博客 » Git中忽略文件提交、取消文件追踪的方式

    2.8K20

    获取类路径某个json文件中的内容字符串

    前言 实际项目中可能会有需要读取类路径下面的配置文件中的内容的需求,由于springboot项目打包的是jar包,通过文件读取获取流的方式开发的时候没有问题,但是上到linux服务器上就有问题了,对于这个问题记录一下处理的方式...类加载器的方式 通过类加载器读取文件流,类加载器可以读取jar包中的编译后的class文件,当然也是可以读取jar包中的文件流了 比如要读取resources目录下common/tianyanchasearch.json...这个文件 String resourcePath = "common/tianyanchasearch.json"; String content = FileUtil.getStringFromInputStream...(resourcePath); return GlobalResult.succeed(JSON.parseObject(content)); /** * 从输入流中获取文件内容字符串...推测主要原因是springboot内置tomcat,打包后是一个jar包,因此通过文件读取获取流的方式行不通,因为无法直接读取压缩包中的文件,读取只能通过流的方式读取

    2.6K30

    Git从某个分支的某次提交新建分支拉取代码

    只能从 develop 分支的某一次提交上拉取代码,到本地分支,然后进行修改,再提交合并到 master 分支。...Git 拉取某一次提交的代码版本到本地分支: git checkout -b 分之名 远程仓库的commitId 示例: git checkout -b w3h5 af161ecbd13eff1630c14f84a7395d46f5d18888...如果你是第一次参与这个项目,操作步骤如下: 首先克隆分支,将代码拉下来: git clone https://github.com/ideshun/project.git 然后进行代码版本的拉取: git... checkout -b w3h5 af161ecbd13eff1630c14f84a7395d46f5d18888 说明:每个平台的说法不同,这里的 commitId 也就是 提交 SHA ,我使用的...GitLab ,可以直接 复制提交 SHA 到剪切板。

    9.4K20
    领券