看起来“git stash create”就是解决这个问题的答案,而且一切都很顺利,除了一个问题...我无法摆脱创建的stash。有没有办法摆脱stash?
为了让我的操作100%清晰明了:
创建stash:
~/tmp/a(master) $ git stash create
60629375d0eb12348f9d31933dd348ad0f038435
~/tmp/a(master) $ git st
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
~/tmp/a(master) $ git reset --hard
HEAD is now at 555d572 log message
使用stash:
~/tmp/a(master) $ git apply 60629375d0eb12348f9d31933dd348ad0f038435
fatal: can't open patch '60629375d0eb12348f9d31933dd348ad0f038435': No such file or directory
~/tmp/a(master) $ git stash apply 60629375d0eb12348f9d31933dd348ad0f038435
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
删除存储: (除了这个最后一点不起作用)
~/tmp/a(master) $ git stash drop !$
git stash drop 60629375d0eb12348f9d31933dd348ad0f038435
'60629375d0eb12348f9d31933dd348ad0f038435' is not a stash reference
git apply
没有应用补丁——输出中的错误消息告诉了你这一点。因此,实际上,你试图创建一个存储(但未成功,详见下面的评论),应用一个未创建的存储,然后放弃一个未创建的存储。这就是为什么你所做的一切都没有起作用的原因。 - Professor Tomgit stash apply
有效的原因。git apply
尝试读取本地补丁文件,但该文件不存在。说实话,它可能根本不应该存在,也永远无法工作。我有点想把它从问题中删除,但考虑到它以当前形式帮助了很多人,我将保持原样。 - Paul Wagland