【发布时间】:2014-05-30 14:11:27
【问题描述】:
场景:我更喜欢 Mercurial,但我经常需要处理 git 存储库,所以我最终每天都使用它们。因此,我经常输入:
hg commit -m "message"
...我想要的地方:
git commit -am "message"
...反之亦然。
我希望我的 bashrc 文件足够智能,以便它可以通过预先检查我所在的目录是否具有“.git”或“.hg”目录并“修复”来检测这种混淆语法符合。
基本上我认为我正在寻找的是一种通过 bash 函数覆盖两个命令的方法(我知道如何做到这一点)并以某种方式检查命令的第一部分是否以“hg ci -m”或“git ci -am”(这个我不知道)。
我不确定 bashrc 别名/函数是否可以扩展到这样的表达水平,但我确信我不是唯一一个被这种“困惑”所困扰的人,所以我想知道是否有人已经想出了一个解决方案。
【问题讨论】:
-
到目前为止你尝试过什么?
-
+1 非常好的问题。很遗憾,我无法为您提供任何答案。
-
与其使用这些丑陋的hack,不如考虑使用shell readline history 功能。
-
编写一个使用正确系统(基于当前目录中的存储库)执行基本版本控制操作的 shell 脚本对我来说几乎不像是“丑陋的 hack”。
-
阅读历史记录听起来很有希望:您能详细说明一下吗?