Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rioam2/git-upstream-template

Synchronize git templates generated by GitHub as if they were forks
https://github.com/rioam2/git-upstream-template

cherry-pick fork merge npm repository-sync synchronization templates unrelated-histories upstream-template

Last synced: about 5 hours ago
JSON representation

Synchronize git templates generated by GitHub as if they were forks

Awesome Lists containing this project

README

        

# git-upstream-template

[![Build Status](https://travis-ci.com/rioam2/git-upstream-template.svg?branch=master)](https://travis-ci.com/rioam2/git-upstream-template)
[![Coverage Status](https://coveralls.io/repos/github/rioam2/git-upstream-template/badge.svg?branch=master)](https://coveralls.io/github/rioam2/git-upstream-template?branch=master)
[![TypeScript](https://badges.frapsoft.com/typescript/version/typescript-next.svg?v=101)](https://github.com/ellerbrock/typescript-badges/)
[![NPM Version](https://img.shields.io/npm/v/git-upstream-template.svg)](https://github.com/rioam2/git-upstream-template)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://img.shields.io/badge/license-MIT-blue.svg)

Synchronize git templates generated by GitHub as if they were forks.

```bash
npx git-upstream-template
```

on an child instance of a Github template repository will open up an interactive CLI where you can select from a list of updated commits that have been made after child instance creation. These will then be applied to the child template instance keeping changes and patches current.

All working directory changes will be stashed before any operations are made using git and popped once successfully completed. This is for your own peace-of-mind and protection. If any operation fails, simply use `git stash pop` to retrieve your cwd again.

Special treatment will be given to source commits with messages formatted: `Bump from to `. These commits will call `yarn` to update `` to version ``.

### Optional Branch Name

In order to support newly created repositories on GitHub you can pass an `` in your CLI. All newly created GitHub repositories will have a default branch of `main` instead of `master`. For further information you can read [here](https://sfconservancy.org/news/2020/jun/23/gitbranchname/).