我明白了
git apply --reject
git apply --include始终打印完整的信息,哪些文件是考虑和拒绝从补丁文件传递。因此,当--verbose选项通过时,git似乎使用了--reject模式。
--verbose选项打印任何其他信息没有被-拒绝选项打印?我也没有在git-apply文档中找到任何相关的细节。
git apply --index change-89ded3243ea944156abb9d1c44173d998a4aed59..b3645cd3600b7d1c728c84333b48a20ce5c4eb29.patch
Done applying sandbox package.
git apply --reject change-89ded3243ea944156abb9d1c44173d998a4aed59..b3645cd3600b7d1c728c84333b48a20ce5c4eb29.patch
Checking patch support/gobuild/helpers/python.py...
Checking patch support/gobuild/helpers/target.py...
Checking patch support/gobuild/py/__init__.py...
Checking patch support/gobuild/py/autotools.py...
Checking patch support/gobuild/specs/cayman_pycrypto.py...
Checking patch support/gobuild/targets/cayman_pycrypto.py...
warning: support/gobuild/targets/cayman_pycrypto.py has type 100644, expected 100755
Applied patch support/gobuild/helpers/python.py cleanly.
Applied patch support/gobuild/helpers/target.py cleanly.
Applied patch support/gobuild/py/__init__.py cleanly.
Applied patch support/gobuild/py/autotools.py cleanly.
Applied patch support/gobuild/specs/cayman_pycrypto.py cleanly.
Applied patch support/gobuild/targets/cayman_pycrypto.py cleanly.
Done applying sandbox package.发布于 2017-05-29 15:05:09
--include选项对详细级别没有影响:它只是说修补过程应该对命名的文件应用更改,这当然意味着它不应该将更改应用到其他文件。也就是说,修补程序可能会提到文件this.txt、that.py和README。如果您说“包含对this.txt和README的更改”,则意味着“请不要对that.py进行任何更改”。
--verbose选项实际上是一个计数器:使用一次,它会将冗长的级别从零或“正常”提高到1或“详细”,并使用两次它会在此之后引发它。但是,这里没有针对较高数字的特殊操作(一些Git命令确实有多个详细级别,例如,git branch有两个)。有一个特殊的负-1级别,但您不能自己设置它(当git am应用多个补丁时,它会自动使用,每次应用后都会提交)。
--reject选项自动将详细级别提高到至少1。因此,在内部,选项的顺序如下:
git apply --verbose --reject意思是“将详细级别设置为1,同时设置拒绝模式”,同时:
git apply --reject --verbose意思是“将详细级别设置为2,并设置拒绝模式”。
长表单选项longopt通常允许使用no-longopt清除它们。(有一些例外,但这不是例外。)因此:
git apply --reject --no-verbose将启用拒绝模式,同时将详细级别设置为零(“正常”详细:某些内容仍在打印)。
https://stackoverflow.com/questions/44238014
复制相似问题