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

git 提交文件中的部分修改

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

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

    删除Git仓库中的大文件

    但是如果不小心将某个文件加入到Git的缓存区后,不管后面怎么删除这个大文件,Git始终都保存有这个文件的历史记录,因此项目会很大。...以及.git目录中的object也有一份这个文件的记录。...识别出大文件对象 Git中会对大文件进行打包,生成git pack格式的.pack文件以及对应的同名的.idx文件,存放在.git/object/pack目录中。...找出Git对象对应的文件名 由于上述步骤得到的Git对象只有一长串的SHA-1的值,而没有具体的对应的在文件系统中的文件名字,因此我们需要找出Git对象对应的文件名。...这里我们使用git log来操作,具体如下: git log --pretty=online -- 以data/model-400M.caffemodel文件为例,这个命令的具体形式为

    6.1K51

    将Python绘制的图形保存到Excel文件中

    标签:Python与Excel,pandas 在上篇文章中,我们简要地讨论了如何使用web数据在Python中创建一个图形,但是如果我们所能做的只是在Python中显示一个绘制的图形,那么它就没有那么大的用处了...解决方案是使用Excel作为显示结果的媒介,因为大多数人的电脑上都安装有Excel。因此,我们只需将Python生成的图形保存到Excel文件中,并将电子表格发送给用户。...根据前面用Python绘制图形的示例(参见:在Python中绘图),在本文中,我们将: 1)美化这个图形, 2)将其保存到Excel文件中。...生成的图形保存到Excel文件中 我们需要先把图形保存到电脑里。...要将确认病例数据保存到Excel中,执行以下操作: writer = pd.ExcelWriter(r'D:\Python_plot.xlsx',engine = 'xlsxwriter') global_num.to_excel

    5.1K50

    Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍

    201 次查看 使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。...在.gitignore文件中的每一行保存一个匹配的规则例如: *.a      # 忽略所有 .a 结尾的文件 !...# 会忽略 doc/notes.txt 但不包括doc/server/arch.txt 在想要忽略内容的目录下创建.gitgnore,编辑.gitignore文件,用git status查看状态,想要忽略的文件还是显示被追踪状态...原因是git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被提交到版本管理中,就算是在.gitignore中声明了忽略文件也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git...git清除本地缓存命令如下: git rm -r --cached . git add . git commit -m '更新 .gitignore' 查了资料发现,想要.gitignore起作用,必须要在这些文件不在暂存区中才可以

    4.6K20

    Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍

    在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。...在.gitignore文件中的每一行保存一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !...doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt 在填写忽略文件的过程中,我发现在Android Studio里面,.gitignore中已经标明忽略的文件目录下的文件...,当我想git push的时候还会出现在push的目录中,原因是因为在Studio的git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的...,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。

    1.6K20

    使用 .gitignore 忽略 git 仓库中的文件

    使用 .gitignore 文件忽略指定文件 .gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store...文件,或者是Xocde的操作记录,又或者是pod库的中一大串的源代码。...这种情况下使用.gitignore就能够在Git提交时自动忽略掉这些文件。 忽略的格式 # :此为注释 – 将被 Git 忽略 *.a :忽略所有 .a 结尾的文件 !...https://github.com/github/gitignore.git 与 Xcode 相关的三个文件 Xcode.gitignore Objective-C.gitignore Swift.gitignore...Xcode.gitignore忽略 Xcode 配置信息,如操作记录,默认打开窗口等 其他两个在 Xcode.gitignore 基础上针对不同的语言进行忽略 将这些文件重写命名为 .gittignore

    2.1K50

    使用 .gitignore 忽略 Git 仓库中的文件

    使用 .gitignore 文件忽略指定文件 .gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store...文件,或者是Xocde的操作记录,又或者是pod库的中一大串的源代码。...这种情况下使用.gitignore就能够在Git提交时自动忽略掉这些文件。 忽略的格式 # :此为注释 – 将被 Git 忽略 *.a :忽略所有 .a 结尾的文件 !...https://github.com/github/gitignore.git 与 Xcode 相关的三个文件 Xcode.gitignore Objective-C.gitignore Swift.gitignore...Xcode.gitignore忽略 Xcode 配置信息,如操作记录,默认打开窗口等 其他两个在 Xcode.gitignore 基础上针对不同的语言进行忽略 将这些文件重写命名为 .gittignore

    1.5K20

    如何删除 git 仓库中的 .idea 文件?

    有时候新创建应用还没有添加 .gitignore 文件或者 .gitignore 内容设置的不正确,就导致 .idea 文件目录上传到了仓库(也可能是其他文件)。...可以使用以下方式删除仓库中的 .idea 文件。 1....删除项目重新 push(不推荐) 仓库里面的应用删除掉 本地应用中的 .git 文件删除掉 先添加 .gitignore 文件,然后 push 代码到仓库 这种方式比较适合在最开始的时候,如果有了很多...2. git 删除本地暂存区文件 修改 .gitignore 文件内容,添加 .idea 删除本地暂存区中的 .idea 文件 git rm --cached -r .idea 推到远端 git commit...-m 'delete .idea' git push 很多时候,只修改了 .gitignore,但是没有删除本地缓存中的 .idea 文件,总是觉得这个文件目录怎么每次都带上去,其实就是这个原因。

    5K20

    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.../bfg-repo-cleaner/ 第一步 下载包文件 直接官网下载即可,bfg-1.13.0.jar 将程序包放到一个文件夹里,为了方便,重命名为bfg.jar 第二步 克隆仓库 clone自己的

    5.8K10

    将配置存储在容器registry而非Git中的优势

    除了Git,甚至可以替代Git,为什么您应该考虑将配置文件存储在容器注册表中?...将配置文件和包存储在 Git 中非常常见。有时它们与源代码一起提交,有时与其他配置包一起存储,有时则位于它们自己的存储库中。...当将配置单独存储时,在 Git 中执行配置编辑的繁琐工作变得更加明显:克隆、分支、编辑、添加、提交、推送、创建变更请求、审查、合并、标记。...毕竟,容器镜像本质上是一组文件的捆绑包。(能够将镜像作为卷挂载到 Kubernetes 中运行的容器中本来是很好的,但这又是另一个问题。)...因为镜像比包含配置包的典型 Git 存储库更细粒度、更集中的文件捆绑包,并且它们可以使用有关其内容的信息进行注释,所以容器注册表中的配置包比位于 Git 存储库子目录中的配置包更容易发现、列出和过滤。

    8710

    如何使用.gitignore忽略Git中的文件和目录

    通常,在项目上使用Git的工作时,你会希望排除将特定文件或目录推送到远程仓库库中的情况。.gitignore文件可以指定Git应该忽略的未跟踪文件。...在本教程中,我们将说明如何使用.gitignore忽略Git中的文件和目录。包括常见匹配模式*星号,斜杠/,#井号注释,?...一些常见的例子包括:运行时文件,例如日志,锁定文件,缓存或临时文件。具有敏感信息的文件,例如密码或API密钥。已编译的代码,例如.class或.o。...例如*.log模式将匹配error.log,logs/debug.log,build/logs/error.log等所有目录下以.log作为扩展名的文件。...要忽略先前提交的文件,你需要取消暂存并从索引中删除该文件,然后在.gitignore中添加该文件模式: git rm --cached filename --cached选项告诉git不要从工作树中删除文件

    9.2K10

    Git删除暂存区或版本库中的文件

    打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit)。...首次新建的文件都是untracked状态(未跟踪),此时需要git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态,需要git commit生成版本库。...仅仅删除暂存区里的文件 此时你想撤销错误添加到暂存区里的文件,可以输入以下命令: git rm --cache 文件名 ?...git status 删除暂存区和工作区的文件 git rm -f 文件名 工作区的文件也被删除了。 ?...//彻底将工作区、暂存区和版本库记录恢复到指定的版本库 git reset --hard 版本库ID 那我们到底应该用哪个选项好呢?

    3.9K30

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

    背景 使用Git进行版本管理多人协作开发,常会遇到我们本地可能存在一套自己的配置或者某些测试文件不需要提交到远端的情况。因此需要使用Git的相关命令进行文件排除或解除追踪。...下面介绍几种方式: 1.本地添加的文件,未纳入Git管理时 我们只需要在待排除的目录内新建.gitignore文件 然后编辑.gitignore文件,增加希望排除的文件内容即可 image.png...# 恢复跟踪文件,修改提交 git update-index --no-assume-unchanged /xxx/xxx.java # 恢复追踪某个目录下的某种类型文件 git update-index...--no-assume-unchanged /xxx/*.yml 当关闭追踪文件多了时,想找出来进行提交,可以使用如下命令: # 列出关闭追踪的文件 git ls-files -v | grep '^...| awk '{print $2}' |xargs git update-index --no-assume-unchanged 未经允许不得转载:肥猫博客 » Git中忽略文件提交、取消文件追踪的方式

    2.8K20
    领券