我认为
git checkout .
删除所有未暂存的修改,因为 - 在以下选项中是可选的:
git checkout [-p|--patch] [<tree-ish>] [--] [<paths>...]
这似乎是我可能错字的东西,并且没有“你确定吗?”据我所知,即使在git-config中也是如此。由于这些变化从未发生过,因此它们当然不在reflog中,所以没有办法让它们恢复。
在删除我的非暂停编辑之前,是否有任何方法让它提示我? 我制作了一个TextExpander片段,将 git checkout。重写为 #git checkout。,但希望有更好的方法。
答案 0 :(得分:1)
您可以添加别名并自行使用,以便使用它。 IE,创建这个shell脚本:
#!/bin/sh
if test "$1" = "." ; then
echo -n "Are you sure (y/n)? "
read ans
if test "$ans" != "y" ; then
echo "aborting"
exit
fi
fi
git checkout "$@"
并将其命名为git-safecheckout
,然后将其别名为co
:
# git config --global alias.co '!git-safecheckout'
而git co
改为:
# git co .
git co .
Are you sure (y/n)? n
aborting
# git co .
Are you sure (y/n)? y
#
[显然有一百万种方法你可以使用shellcript进行蠕变]