如何从git stash中删除特定文件更改

时间:2015-09-24 19:10:29

标签: git git-stash

我希望能够应用如下所示的存储:

git stash show --stat stash@\{1\} 
 extensions/99/fill-thresholds.json            |  2 +-
 html/js/1.js                           | 10 ++++++++++
 html/pages/su/2.html            |  4 ++--
 html/pages/su/popups/3.html | 21 +++++++++++----------
 sql/2 - data/4.sql              |  6 +++---
 sql/3 - keys/5.sql               |  4 ++--
 sql/5 - views/6.sql          |  2 +-
 7 files changed, 30 insertions(+), 19 deletions(-)

当我尝试应用该存储时,我收到冲突错误:

git stash apply stash@\{1\} 
Auto-merging sql/2 - data/4.sql
CONFLICT (content): Merge conflict in sql/2 - data/4.sql

然后我试图解决冲突,但后来我的其他文件没有被应用,如果我再次运行应用那个存储我再次遇到冲突错误。

我真的不关心带有错误的文件所以我在想是否有办法只从存储中丢弃该文件所以当我尝试应用它时我没有得到错误或我怎么能继续解决冲突后应用藏匿点?

2 个答案:

答案 0 :(得分:2)

我不确定是否有办法修改存储,但我只是在一个没有任何冲突的新分支中弹出存储,删除你不关心的文件,然后藏匿/重新申请您感兴趣的分支。

答案 1 :(得分:1)

看起来您可以直接从藏匿处合并" git merge stash @ {XX}'并使用rerere机制来处理重复的合并冲突,请参阅https://git-scm.com/blog/2010/03/08/rerere.html