Git 我如何强制暂存/提交整个文件而不是大块

Git 我如何强制暂存/提交整个文件而不是大块,git,msysgit,Git,Msysgit,Git有一个很好的工具来进行stage(以及稍后提交)。我在寻找一种相反的选择:强迫git一次提交整个文件:“我知道整个文件确实已经改变了,不要试图把它分成几个部分” 当一个文件的变化如此之大,以至于在不同版本之间只有一些空白时,这个选项是实用的。据我所知,git总是尝试将文件放在大块的地方,并使用公共(空白线)作为分割点。git只存储完整的文件(至少从前端的角度来看-后端对象数据库在创建包文件时会使用增量来提高存储效率,但与对象数据库之间的事务仅以整个文件为单位)。当您git添加-p以“存储”

Git有一个很好的工具来进行stage(以及稍后提交)。我在寻找一种相反的选择:强迫git一次提交整个文件:“我知道整个文件确实已经改变了,不要试图把它分成几个部分”


当一个文件的变化如此之大,以至于在不同版本之间只有一些空白时,这个选项是实用的。据我所知,git总是尝试将文件放在大块的地方,并使用公共(空白线)作为分割点。

git
只存储完整的文件(至少从前端的角度来看-后端对象数据库在创建包文件时会使用增量来提高存储效率,但与对象数据库之间的事务仅以整个文件为单位)。当您
git添加-p
以“存储”部分更改时,git真正要做的是为您生成一个只包含您指定的更改的全新文件,并存储整个文件。根据您的工作流程,这是git有时会受到批评的事情之一,因为您实际上可以存储开发中从未真正存在过的文件进程和未经测试以确保它们正确编译和/或工作。

您如何开始转移更改的过程?默认情况下,
git add
将作用于整个文件。感谢您的评论和回答,我认为这很好地回答了这个问题。似乎我真的误解了git如何存储差异和更改在档案里。谢谢!