{"id":3136,"url":"https://github.com/metasmile/git-xcp","last_synced_at":"2025-08-03T13:31:54.539Z","repository":{"id":95803584,"uuid":"50983011","full_name":"metasmile/git-xcp","owner":"metasmile","description":"A git plugin for real-world xcode versioning workflow.","archived":false,"fork":false,"pushed_at":"2019-12-29T20:03:51.000Z","size":418,"stargazers_count":13,"open_issues_count":8,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-16T10:42:13.537Z","etag":null,"topics":["git","git-addons","git-plugin"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metasmile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-02-03T07:42:34.000Z","updated_at":"2023-12-07T17:30:12.000Z","dependencies_parsed_at":"2023-03-05T03:00:38.584Z","dependency_job_id":null,"html_url":"https://github.com/metasmile/git-xcp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metasmile%2Fgit-xcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metasmile%2Fgit-xcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metasmile%2Fgit-xcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metasmile%2Fgit-xcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metasmile","download_url":"https://codeload.github.com/metasmile/git-xcp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228548567,"owners_count":17935221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","git-addons","git-plugin"],"created_at":"2024-01-05T20:16:32.425Z","updated_at":"2024-12-07T01:30:35.552Z","avatar_url":"https://github.com/metasmile.png","language":"Shell","funding_links":[],"categories":["Tools","WebSocket"],"sub_categories":["Web View","Other free courses"],"readme":"# git-xcp \n\n[![Awesome](https://img.shields.io/badge/Awesome-iOS-red.svg)](https://github.com/vsouza/awesome-ios#tools)\n[![Stories in Ready](https://badge.waffle.io/metasmile/git-xcp.svg?label=ready\u0026title=Tasks)](http://waffle.io/metasmile/git-xcp)\n\nThe 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.\n\n![flow](https://raw.githubusercontent.com/metasmile/git-xcp/master/git-xcp.png?v=5)\n\n# Install\n\n```\n$ git clone https://github.com/metasmile/git-xcp.git \u0026\u0026 cd git-xcp \u0026\u0026 sudo make install\n```\n\n# Usage\n```\ngit xcp \u003ccommand\u003e [option]\n\ncommands:\n\tbeta \u003cproject target\u003e [option]\n\t\t\t\t\t\t--same-build\n\t\t\t\t\t\t--revert\n\tsubmit \u003cproject target\u003e\n\tarchive \u003cproject target\u003e\n\tnew \u003cproject target\u003e \u003cversion\u003e\n```\n\n# Commands\n## beta\n\nPush to branch 'release-beta' with automatically increment build number, and create tag.(MyApp/beta/b{CFBundleVersion})\n```\n$ git xcp beta MyApp\n```\n\nPerforms with same build number\n```\n$ git xcp beta MyApp --same-build\n```\n\nRemove already created tags, add a reverse commit.\n```\n$ git xcp beta MyApp --revert\n```\n\n## submit\n\nCreate 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.\n\n```\n$ git xcp submit MyApp\n```\n\n## archive\n\nSquash merge, and push version of release onto 'master' branch via commit '[Release - MyApp - 1.0]', and creates a tag 'MyApp/1.0'\"\n\n```\n$ git xcp archive MyApp\n```\n\n## new\n\nIf your app succesfully released AppStore, Let's start with new CFBundleShortVersionString.\n\n```\n$ git xcp new MyApp 1.1 (from 1.0)\n```\n\n## Make your own commands\n\nAlso, You can add your new subcommand. 'Makexcp' will automatically wrap general git tasks up.\n Let's create a source file to following path.\n\n```\ntouch ./src/xcp-mycmd\n```\n\nedit 'xcp-mycmd'\n\n```\n# add your scripts here\n```\n\nAnd then,\n```\n$ ./Makexcp mycmd\n```\n\nIt creates\n\n```\n./git-xcp-mycmd\n```\n\nAnd, you can contain it into git-xcp command.\nOpen 'Makefile', and add following lines.\n\n```\n...\ninstall:\n\t./Makexcp beta\n\t./Makexcp submit\n\t./Makexcp archive\n\t./Makexcp new\n    ./Makexcp mycmd \u003c- your command was added.\n...\n```\n\nFinally, Install them.\n```\n$ make install\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetasmile%2Fgit-xcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetasmile%2Fgit-xcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetasmile%2Fgit-xcp/lists"}