假设我有一个包含多组更改的文件(a.k.a. hunks),我可以为任何单个hunk生成一个补丁文件。就像你可以用以下方式表达一个单独的大块头一样:
git apply --cached - < patch
我希望能够使用一个大块的补丁存储一个单独的大块头。但是,我无法通过git来非交互式地为一个单独的hunk保存藏匿。我尝试了以下但是它们不能以各种方式工作:
git stash save --patch patch # interactive
git stash save --patch < patch # interactive
git stash save --patch - patch # unknown option: -
git stash save --patch - < patch # unknown option: -
git stash save < patch # ignores patch and stashes all the hunks
git stash push --patch patch # pathspec 'patch' did not match...
git stash push --patch < patch # interactive
git stash push --patch - patch # unknown option: -
git stash push --patch - < patch # unknown option: -
git stash push < patch # ignores patch and stashes all the hunks
有办法做到这一点吗?
答案 0 :(得分:1)
Git不允许您通过补丁指定隐藏块。但是,您可以使用交互式使用的相同字母驱动--patch选项。因此,如果您只想隐藏三个中的第二个,则可以使用.rss-subscribe:before{
font-family: 'Font Awesome 5 Free';
font-size: 20pt;
content: "\f09e";
margin-right: 10px;
float: left;
width: 32px;
}
。
例如,Git testsuite就是这样做的。
如果你有一个hunk,而不是diff中那个hunk的索引,你必须解析printf "%s\n" n y n | git stash save -p
的输出才能找到索引。