我想在我的.gitconfig文件中进行更改,这样当我运行“git pull”时,它会以echo语句退出“请使用git xpull而不是git pull”这里xpull是我的别名吗?
OR是否可以在我的本地计算机中的任何位置(而不是.gitconfig文件)?
答案 0 :(得分:1)
不幸的是,我不相信你可以在git中做你想做的事情。 git-config(1)手册页说:
为避免混淆和使用脚本的麻烦,忽略隐藏现有git命令的别名。
换句话说,您可以自由地为 xpull 创建一个git别名,但是您实际上无法覆盖或包装 pull 本身。但是,您可以创建一个shell函数来包装对git的调用。
你可以将git包装在一个shell函数中,该函数将拦截对git的所有调用,检查是否存在关键字“pull”,并重写命令行以改为使用“xpull”。这个包装函数不是特别强大,但它在我的临时测试中肯定有用。
git () {
if [[ "$*" =~ $(echo '\bpull\b') ]]; then
git xpull
else
command git xpull "${@/pull/}"
fi
}
如果您愿意,可以使用echo和非零返回状态替换对 xpull 的调用,但是透明地包装行为似乎更合理。您的里程可能会有所不同。
答案 1 :(得分:0)
在$SOMEDIR/git-pull
中放置一个脚本,$SOMEDIR
位于$PATH
,然后:
chmod -x /usr/lib/git-core/git-pull
或git-pull
可执行文件位于系统上的任何位置。
答案 2 :(得分:0)
使用短别名怎么样?它也可以为您节省其他命令的时间
[alias]
st = status
pl = pull --no-edit