0

我有以下 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 留下未跟踪的文件,我的第二部分reset应该可以工作,实际上当我单独做时它会起作用......这让我觉得我的 gitconfig 语法有错误。为什么重置不起作用?谢谢

4

2 回答 2

2

git-config手册页:“为了避免混淆和脚本使用麻烦,隐藏现有 git 命令的别名将被忽略。”

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

于 2016-03-16T16:59:46.337 回答
1

或者也许有办法!哇哈哈哈

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

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

于 2017-01-13T09:52:42.583 回答