任何方式来结帐。'在删除未标记的编辑之前提示?

时间:2012-01-19 03:41:35

标签: git

我认为

git checkout .

删除所有未暂存的修改,因为 - 在以下选项中是可选的:

git checkout [-p|--patch] [<tree-ish>] [--] [<paths>...]

这似乎是我可能错字的东西,并且没有“你确定吗?”据我所知,即使在git-config中也是如此。由于这些变化从未发生过,因此它们当然不在reflog中,所以没有办法让它们恢复。

在删除我的非暂停编辑之前,是否有任何方法让它提示我? 我制作了一个TextExpander片段,将 git checkout。重写为 #git checkout。,但希望有更好的方法。

1 个答案:

答案 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进行蠕变]