Giter Site home page Giter Site logo

git-xcp's Introduction

git-xcp

Awesome Stories in Ready

The most simplest, safe, and fully automatic git plugin for versioning workflow of real-world xcode projects. Current working or draft content(unstaged, untracked or uncommitted files) is safe from conflict or loss.

flow

Install

$ git clone https://github.com/metasmile/git-xcp.git && cd git-xcp && sudo make install

Usage

git xcp <command> [option]

commands:
	beta <project target> [option]
						--same-build
						--revert
	submit <project target>
	archive <project target>
	new <project target> <version>

Commands

beta

Push to branch 'release-beta' with automatically increment build number, and create tag.(MyApp/beta/b{CFBundleVersion})

$ git xcp beta MyApp

Performs with same build number

$ git xcp beta MyApp --same-build

Remove already created tags, add a reverse commit.

$ git xcp beta MyApp --revert

submit

Create a tag '{scheme}/submit/{CFBundleShortVersionString}_b{CFBundleVersion}' from the lastest version(HEAD) automatically to manage for additional changes, And deploy as a "release-submit" branch. Maybe you should run this script after succesfully submitted to AppStore review team.

$ git xcp submit MyApp

archive

Squash merge, and push version of release onto 'master' branch via commit '[Release - MyApp - 1.0]', and creates a tag 'MyApp/1.0'"

$ git xcp archive MyApp

new

If your app succesfully released AppStore, Let's start with new CFBundleShortVersionString.

$ git xcp new MyApp 1.1 (from 1.0)

Make your own commands

Also, You can add your new subcommand. 'Makexcp' will automatically wrap general git tasks up. Let's create a source file to following path.

touch ./src/xcp-mycmd

edit 'xcp-mycmd'

# add your scripts here

And then,

$ ./Makexcp mycmd

It creates

./git-xcp-mycmd

And, you can contain it into git-xcp command. Open 'Makefile', and add following lines.

...
install:
	./Makexcp beta
	./Makexcp submit
	./Makexcp archive
	./Makexcp new
    ./Makexcp mycmd <- your command was added.
...

Finally, Install them.

$ make install

git-xcp's People

Contributors

metasmile avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

git-xcp's Issues

Extension Support

If app project contains some extensions, (Especially iMessage Extensions) its build version must be same as parent app. (git xcp beta)

/usr/bin/xcrun xcodebuild -showBuildSettings -scheme Project | grep TARGET_NAME

homebrew support (current audit problems)

==> audit problems
git-xcp:

  • bottle modifier (line 13) should be put before depends_on (line 12)
  • Stable: version 0.1.1 is redundant with version scanned from URL
  • GitHub repository not notable enough (<20 forks, <20 watchers and <50 stars)
  • GitHub repository too new (<30 days old)
  • Please remove default template comments
  • Please remove default template comments
  • Please remove default template comments

move(or modify) submit point.

1.0_b145 <------ submitted to review team.
[ only metadata modified ! not binary. ]
1.0_b145 <------ same build number + move to submit tag

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.