Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/metasmile/git-xcp
A git plugin for real-world xcode versioning workflow.
https://github.com/metasmile/git-xcp
git git-addons git-plugin
Last synced: 3 months ago
JSON representation
A git plugin for real-world xcode versioning workflow.
- Host: GitHub
- URL: https://github.com/metasmile/git-xcp
- Owner: metasmile
- License: mit
- Created: 2016-02-03T07:42:34.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-12-29T20:03:51.000Z (about 5 years ago)
- Last Synced: 2024-08-16T10:42:13.537Z (6 months ago)
- Topics: git, git-addons, git-plugin
- Language: Shell
- Homepage:
- Size: 408 KB
- Stars: 13
- Watchers: 4
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - git-xcp - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. (Tools / Web View)
- awesome-ios-star - git-xcp - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. (Tools / Web View)
README
# git-xcp
[](https://github.com/vsouza/awesome-ios#tools)
[](http://waffle.io/metasmile/git-xcp)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.

# Install
```
$ git clone https://github.com/metasmile/git-xcp.git && cd git-xcp && sudo make install
```# Usage
```
git xcp [option]commands:
beta [option]
--same-build
--revert
submit
archive
new
```# Commands
## betaPush 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
```