换句话说,如果你的.gitignore中有以下内容:
/my-ignored-directory/*
然后你被搞砸了 - 在git stash之后保存-u,my-ignored-file.txt 将会消失(对不起,它不在你刚刚创建的藏匿处 其一)。打破取消删除的包裹,并希望最好的。 或者,如果你的.gitignore中有以下内容:
/my-ignored-directory
然后你是金色的 - 不用担心,放松,放松,my-ignored-file.txt 将保持在git stash save -u之前的确切位置。
为什么会有这种差异?我还想知道如果我的.gitignore
文件中有/my-ignored-directory/
(带有斜杠),是否会删除任何文件?
答案 0 :(得分:2)
你们两个例子的结果都是一样的,被忽略的文件都没了。当然有文档中描述的解决方案:
如果使用--include-untracked选项,所有未跟踪的文件也会被隐藏,然后使用git clean清理,使工作目录处于非常干净的状态。 如果使用--all选项,则除了未跟踪的文件外,还会隐藏和清除被忽略的文件。
Git内部调用git clean -d将工作目录置于非常干净的状态。
您想要的命令是:
git stash --include-untracked --all