我正在创建一个 git 别名,如下所示(为了便于阅读,分成几行):
git config --global alias.make-release '
! _() { if test "$1" != "2" ; then echo "git make-release TAG_NUMBER DESCRIPTION"; return 1; fi; };
_ "$#"
&& git checkout release
&& git merge master
&& git fetch --tags
&& git tag -a "$1" -m "$2"
&& git push origin release --tags'
该命令合并master
到release
,从命令行参数创建一个新标签并将其推送到 origin/release。它一直工作到标签创建点。当我跑步时,我得到了这个:
Switched to branch 'release'
Already up-to-date.
error: src refspec Testing does not match any.
error: failed to push some refs to 'git@github.com:Stockopedia/prototype.git'
我有两个问题:
- 最后一个命令
git push origin release --tags
不起作用。为什么? - 最后两行是什么意思?它们为什么会发生?