在git reset --mixed
之后,我先前已暂存的新文件变为未暂存。
是否可以恢复执行git reset
之前的阶段状态?
答案 0 :(得分:1)
您可以重新添加文件:
git add path/to/the/file
如果仅暂存了文件的一部分,则可以修补添加:
git add --patch path/to/the/file
答案 1 :(得分:1)
不幸的是,git不会自动存储登台历史记录,没有直接的方法可以将索引还原到其先前状态之一。
将来,您可以执行以下操作:
一个变体:先提交,然后回滚:
# add stuff :
git add ... / git add -p ...
git commit -m "work in progress"
git reset --soft HEAD^
这会将创建的提交添加到当前分支的引用日志中,
使用git reset --soft
将保留登台区域
使用git stash && git stash apply
git stash
创建两个提交:
以下是命令的输出:
$ git stash && git stash apply
Saved working directory and index state WIP on master: 7475d1d {message}
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
[...]
这是隐藏提交的样子:
$ git log --oneline --graph stash@{0}
* 79d9cd7 (refs/stash) WIP on master: 7475d1d {message} # <- full stash
|\
| * 43f3da0 index on master: 7475d1d {message} # <- staging area's content
|/
* 7475d1d (HEAD -> master, origin/master) {message} # <- current active commit
|\
...