将 git pull 替换为 git up
Replace git pull with git up
我用的是git up
in order to avoid merge bubbles,但是有时候不小心发出一个git pull
。
系统地用 git up
替换 git pull
的最佳方法是什么?
如 git-config 文档中所述,无法为现有 git 命令添加别名。
我们可以使用一个 bash 函数来询问您是否要实际使用 git pull
命令,并且还为您提供了使用 git up
的机会:
function git() {
if [[ $@ == "pull" ]]; then
read -p "Do you want to [p]ull, [u]p or [a]bort? " yn
case $yn in
[Pp]* ) command git pull;;
[Uu]* ) command git up;;
* ) echo "bye";;
esac
else
command git "$@"
fi
}
例子
$ git pull
Do you want to [p]ull, [u]p or [a]bort? u
Fetching origin
master up to date
$ git pull
Do you want to [p]ull, [u]p or [a]bort? p
Already up-to-date.
$ git pull
Do you want to [p]ull, [u]p or [a]bort? a
bye
我的一位事实上的导师曾经说过
I don't define aliases, I type the whole commands so that I don't forget them eventually.
在其他福特,就这样
git fetch
git rebase origin/master # fails due to local changes
git stash
git rebase origin master
git stash pop
是的,需要大量输入。这不是错误,这是一个功能。 If/when一个步骤失败,你得去检查为什么。
它迫使您思考您的工作。与 make small commits with long commit messages
.
相同
我用的是git up
in order to avoid merge bubbles,但是有时候不小心发出一个git pull
。
系统地用 git up
替换 git pull
的最佳方法是什么?
如 git-config 文档中所述,无法为现有 git 命令添加别名。
我们可以使用一个 bash 函数来询问您是否要实际使用 git pull
命令,并且还为您提供了使用 git up
的机会:
function git() {
if [[ $@ == "pull" ]]; then
read -p "Do you want to [p]ull, [u]p or [a]bort? " yn
case $yn in
[Pp]* ) command git pull;;
[Uu]* ) command git up;;
* ) echo "bye";;
esac
else
command git "$@"
fi
}
例子
$ git pull
Do you want to [p]ull, [u]p or [a]bort? u
Fetching origin
master up to date
$ git pull
Do you want to [p]ull, [u]p or [a]bort? p
Already up-to-date.
$ git pull
Do you want to [p]ull, [u]p or [a]bort? a
bye
我的一位事实上的导师曾经说过
I don't define aliases, I type the whole commands so that I don't forget them eventually.
在其他福特,就这样
git fetch
git rebase origin/master # fails due to local changes
git stash
git rebase origin master
git stash pop
是的,需要大量输入。这不是错误,这是一个功能。 If/when一个步骤失败,你得去检查为什么。
它迫使您思考您的工作。与 make small commits with long commit messages
.