Osc*_*son 1 git version-control github
如果我有一些像这样的代码
/**
* blah blah blah
*/
...some codes...
/**
* yadda yadda
Run Code Online (Sandbox Code Playgroud)
然后我补充说
/**
* blah blah blah
*/
...some codes...
/**
* blah blah blah
*/
...some codes...
Run Code Online (Sandbox Code Playgroud)
在"yadda yadda"commanet之前,git diff将显示我添加了:
+ * blah blah blah
+ */
+ ...some codes...
+ /**
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉git,"嘿,那不对.再试一次."?我知道,--patience但这似乎只是为了git diff和我的生活,它永远不会正常工作.我知道它不是非常重要,但它使得差异和提交日志,特别是在GitHub上,更加干净.
Git在存储库中存储文件的方式是基于整个文件.当您要求两个版本之间存在差异时,Git会从存储库1中检索两个完整文件,并在它们之间运行diff算法.与其他一些源代码控制系统不同,Git在提交时不会计算或存储文件之间的差异.
这种方法的优点是可以在您要求时轻松改变差异的行为.例如,您已经看到--patience使用不同diff算法的标志来确定两个文件之间(可能)更好的补丁.
由于文件存储在Git存储库中的方式,不可能告诉Git以某种方式跟踪自定义diff对齐.
.pack文件中,Git使用各种delta编码方法来存储类似对象之间的差异,从而减小存储库的大小.但是,它位于比文件存储更低的级别,并且不是源文件之间的实际差异.