gpt4 book ai didi

git - bashrc 别名,不要混淆 git 和 mercurial

转载 作者:太空狗 更新时间:2023-10-29 13:38:21 27 4
gpt4 key购买 nike

场景:我更喜欢 Mercurial,但我经常需要处理 git 存储库,所以我最终每天都使用它们。因此,我经常输入:

hg commit -m "message"

...我想要的地方:

git commit -am "message"

...反之亦然。

我希望我的 bashrc 文件足够智能,以便它可以通过先发制人地检查我所在的目录是否有“.git”或“.hg”目录和“修复”来检测这种混淆符合语法。

基本上我认为我正在寻找的是一种通过 bash 函数覆盖这两个命令的方法(我知道该怎么做)并以某种方式检查命令的第一部分是否以“hg ci -m”或“hg ci -m”开头“git ci -am”(这个我不知道)。

我不确定 bashrc 别名/函数是否可以扩展到这样的表达水平,但我确定我不是唯一被这种“混淆”困扰的人,所以我想知道是否有人已经想出了一个解决方案。

最佳答案

我对 hg 了解不够,无法建议如何重写命令,但这里有一些方便的功能:

is_git_repo() { command git rev-parse --git-dir &> /dev/null; }
is_hg_repo() { command hg root &> /dev/null; }

示例用法:

git() { 
if is_hg_repo
then
echo "This is is a hg repo, you silly goose!"
return 1
else
command git "$@"
fi
}

hg() {
if is_git_repo
then
echo "Surely you're joking... this is git repo!"
return 1
else
command hg "$@"
fi
}

关于git - bashrc 别名,不要混淆 git 和 mercurial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com