我使用--intent-to-add
选项与git add
一起使用git commit -a
轻松添加文件。但是,似乎这会让git stash
感到困惑。例如:
git init
touch a
git add a
git commit -m 1
touch b
git add --intent-to-add b
git stash --include-untracked
提供git stash
的输出:
error: Entry 'b' not uptodate. Cannot merge.
Cannot save the current worktree state
为什么会这样?可以修复吗?
答案 0 :(得分:1)
给定git stash
后跟git stash pop
将会清除索引,我将从git reset --keep
开始清除索引。 (对于--keep
,这不会更改您的本地文件或提交,只会清除索引。)
git reset --keep
git stash --include-untracked
完成存储所需的内容后,您必须重做git add --intent-to-add b
,因为您通过重置将其取消了:
git stash pop
git add --intent-to-add b
关于为什么首先发生这种情况,我不知道。对我来说似乎是个虫子。。。毕竟,您可以存放常规的git add
。