我们有一个项目,其中文件包含不幸的长行,没有
缩短它们的可能性。如果我们可以大大简化我们的工作流程
我们也可以将git checkout --patch
用于此类文件。这不起作用
如果整条巨行中有任何变化,该行将被标记为已更改。
通常,我们会使用git diff --word-diff
检查此类更改。有可能吗?
使checkout --patch
以类似的格式工作?还有其他办法吗?
解决我们的问题?
答案 0 :(得分:4)
经过一番尝试后,我得到this answer工作,并想出如何使用它来结帐。我做了一些额外的修改来压制有时会打印的警告,并且必须修复参数解析以使其更加灵活。 (由于这最初是一个管道脚本,其中参数由git核心预处理,因此在原始版本中不需要这样做。)
您可以使用this version of the file(raw file作为保存链接 - 方便)并将其复制到PATH
中的某个位置,如链接答案中所述。下载后务必设置其可执行位(chmod +x path/to/file
)。
假设您按照建议命名文件git-add--interactive--words
,您可以使用以下命令为其定义别名:
git config --global alias.cop add--interactive--words --patch=checkout
现在您可以执行以下操作:
git cop HEAD~5
进行互动结帐。 (当前目录)5提交前,或
git cop master -- docs/README
以交互方式检出分支主文件中的docs / README
你可以把你想要的别名叫做别名(当然我选择了警察' c 'heck' o 'ut - ' p < /强>'ATCH)。
我知道这个答案真的很晚,所以它可能不再适用于你了,但这个问题已经在未经答复的清单上存在了很长时间以至于我今天 想出来 - 也许它会帮助别人;)