用于完全重置为HEAD的git别名

时间:2016-03-16 16:53:44

标签: git git-alias

我有以下git别名:

[alias]
        b           = branch
        p           = push
        co          = checkout
        cm          = commit -m
        cmall       = !git add -A && git commit -m
        cob         = checkout -b
        cached      = diff --cached
        addall      = add -A
        editconfig  = config --global -e
        save        = !git add -A && git commit -m SAVEPOINT
        unsave      = reset HEAD~1 --mixed
        amend       = commit -a --amend
        wipe        = !git add -A && git commit -qm 'WIPE SAVEPOINT' && git reset HEAD~1 --hard
        reset       = !git reset --hard HEAD && git clean -qfdx

reset实际上应该重置,但仍然会留下未跟踪的文件。

基于git reset --hard HEAD leaves untracked files behind,我的reset的第二部分应该可以正常工作,事实上当我单独执行时它会这样做...这使得我的gitconfig语法出错了。为什么没有重置工作?谢谢

2 个答案:

答案 0 :(得分:2)

来自http://php.net/manual/en/mysqli.real-escape-string.php:"为了避免混淆和使用脚本的麻烦,忽略隐藏现有git命令的别名。"

因此忽略了您的reset别名,并运行了原始的重置命令。您必须将别名命名为其他内容。

答案 1 :(得分:1)

或许有办法! Mhwuahahaha

http://blogs.atlassian.com/2014/10/advanced-git-aliases/

my_alias = "!f() { 〈your complex command〉 }; f"