我有一张糟糕的旧藏品清单 我先删掉了那些旧的
git reflog expire --expire-unreachable=7.days refs/stash
我有一个巨大的藏匿处,其中包含许多隐藏的更改。有些是为了保留其他一些会损坏我的生产系统。我经历了差异
git diff stash@{0}^1 stash@{0}
我知道要保留哪些
我能做到
git checkout --patch stash@{0} -- myfilename
取消对myfilename的更改并且工作正常。 但是,我有一个大文件夹,里面有很多隐藏更改的文件。我想将所有这些应用但仅限于该子文件夹中。
我试图在ksh中使用通配符来处理它,但我不能正常工作
git checkout --patch stash@{0} -- myfolder/*
结果
error pathspec [...] did not match any files known to git
解决方案不需要基于git,可以是一个shell脚本来包装git调用
答案 0 :(得分:2)
你试过了吗?
git checkout --patch stash@{0} -- myfolder
没有结尾*
?
在执行git命令之前,你的 shell 可能会扩展myfolder/*
,并列出当前存在于磁盘上的元素,这可能不是你想要的。