{"id":17585007,"url":"https://github.com/tommeier/bash-publish_to","last_synced_at":"2025-07-05T23:04:23.493Z","repository":{"id":562522,"uuid":"193521","full_name":"tommeier/bash-publish_to","owner":"tommeier","description":"publish_to command to bash to ensure no merge commits in a collaborative environment","archived":false,"fork":false,"pushed_at":"2011-09-19T00:39:13.000Z","size":99,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T17:30:48.984Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://github.com/tommeier/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tommeier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-05-06T00:02:23.000Z","updated_at":"2019-08-13T14:24:09.000Z","dependencies_parsed_at":"2022-07-08T05:10:28.926Z","dependency_job_id":null,"html_url":"https://github.com/tommeier/bash-publish_to","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tommeier/bash-publish_to","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommeier%2Fbash-publish_to","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommeier%2Fbash-publish_to/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommeier%2Fbash-publish_to/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommeier%2Fbash-publish_to/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tommeier","download_url":"https://codeload.github.com/tommeier/bash-publish_to/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tommeier%2Fbash-publish_to/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263819137,"owners_count":23516115,"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":[],"created_at":"2024-10-22T02:23:50.149Z","updated_at":"2025-07-05T23:04:23.462Z","avatar_url":"https://github.com/tommeier.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bash Scripts - publish_to\n\n## Purpose\n\nSick of nasty merge commits messing up your code base in a medium-large collaborative team coding environment? Run this command before any push and be sure before publishing.\n\nSimple little script in bash to publish the current branch that you're on to a target branch (both local or remote). Performing all required git functions to ensure a synced branch with live (pull, rebase, merge etc). At the end of the process a list of all available remote branches is given to push to.\n\n## Install\n\nEither:\n\n * Clone this repo\n\t\tcd ~\n\t\tmkdir bashscripts\n\t\tcd bashscripts/\n\t\tgit clone git://github.com/tommeier/bash-publish_to.git publish_to\n * and then add the following line anywhere in your bash_profile (or whatever your bash config is) to include this script\n \t\tsource ~/bashscripts/bash-publish_to/bash_publish_to.sh\n\nOr\n\n * Cut paste the functions in the 'bash_publish_to.sh' file into your ~/.bash_profile (or whatever your bash config file is)\n\nThen\n\n * Open terminal/bash (or reload if already open, e.g.: 'source ~/.bash_profile')\n\n## Usage\n\n * Enter the branch you wish to publish *from* and run the following command:\n\t\tpublish_to \u003cbranch you wish to publish to\u003e\n * After viewing the 'git wtf' output that shows status of remote and local branch, and if you're happy with it select the remote you'd like to push to.\n\nFor example (on branch 'dev' wanting to publish to 'master' before pushing live):\n\t\tbranch-dev $ publish_to master\n\n * For starting at the start of the day (get latest changes and rebase dev branch):\n    branch-dev $ startup master\n\n## Requirements\n\n * git wtf - Install via the maintained brew recipe : brew install willgit\n\n## To Do\n * Add exception catching for when a conflict occurs.\n * On startup script allow selection of the 'master/dev' branch based on possible branches in git\n## Credits\n\n * Justin French - http://github.com/justinfrench - for the original static publishing requirements\n * Jeremy Friesen - http://reclusive-geek.blogspot.com/ - for the current git branch magic\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommeier%2Fbash-publish_to","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftommeier%2Fbash-publish_to","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftommeier%2Fbash-publish_to/lists"}