Git隐藏似乎做了很多我想做的事情,除了编写脚本有点困难,因为如果您没有更改,那么git stash; git stash pop
它将做一些与您在存储库中进行更改的操作不同的操作。
看来这git stash create
就是问题的答案,并且一切正常,除了一件事……我无法摆脱创建的存储。有什么办法摆脱藏匿处吗?
为了使其100%清楚我在做什么:
创建存储:
~/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
使用隐藏:
~/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 stash apply
做有效。git apply
尝试读取本地补丁文件的尝试,该文件不存在。老实说,它可能不应该在那里,而且它永远都不可能奏效。我隐约地想将其从问题中删除,但是鉴于它已经以当前的形式帮助了许多人,我将保持现状。
git apply
间隔,但我想为其他旅行者指出,在撰写本文时,第二个代码框中的运行未应用补丁-输出中的错误消息告诉您这一点。因此,实际上,您尝试创建一个存储区(该存储区不起作用,请参见下面的注释)应用一个未创建的存储区,然后删除一个未创建的存储区。这就是为什么您什么都没做的原因。