tag: @test ! -z "$(TAG)" || { echo "node-modules: no tag specified. nothing to do..."; exit 1; } @echo node-modules tag=$(TAG) @git fetch --all --tags --prune @test -z `git --no-pager tag -l $(TAG)` || echo tag already exists @test -z `git --no-pager tag -l $(TAG)` && echo tag $(TAG) does not exist. adding... || : @test -z `git --no-pager tag -l $(TAG)` && git tag $(TAG) || : @git push origin --tags removetag: @test ! -z "$(TAG)" || { echo "no tag specified. nothing to do..."; exit 1; } git tag -d $(TAG) git push origin :refs/tags/$(TAG) release: @test ! -z "$(RELEASE)" || { echo "no release specified. nothing to do..."; exit 1; } git flow init git checkout develop git pull git flow release start $(RELEASE) finish_release: @test ! -z "$(RELEASE)" || { echo "no release specified. nothing to do..."; exit 1; } git checkout release/$(RELEASE) git pull git flow release finish $(RELEASE) .PHONY: tag removetag release finish_release