Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/axelson/git-update
Helps you keep a local branch rebased on top of a master branch
https://github.com/axelson/git-update
Last synced: about 1 month ago
JSON representation
Helps you keep a local branch rebased on top of a master branch
- Host: GitHub
- URL: https://github.com/axelson/git-update
- Owner: axelson
- Created: 2011-06-10T23:18:02.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2015-09-19T00:18:10.000Z (over 9 years ago)
- Last Synced: 2024-12-16T00:47:21.186Z (about 1 month ago)
- Language: Shell
- Homepage:
- Size: 129 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Overview
git-update helps you keep your local branch rebased on top of your master branch. It is expected that most commits will be cherry-picked
into the master branch so that each of your long-lived local branches (on different computers) do not stray too far from the master.# Dependencies
[tig](http://jonas.nitro.dk/tig/) is used to allow easy cherry-picking from the command-line. Install via the web page or by compiling.# Installation
Add your git-update directory to your $PATH. For example: ```echo "export PATH=$HOME/git-update-dir/:$PATH"```## First run
The first time you run git-update it will prompt you for the name of the local branch. This is the branch that you will be rebasing on top
of master. It is usually a branch that is specific to that machine, for example work-pc.# Usage
Two operations are supported, getting updates and pushing updates.
First commit any current changes you have to your computer-specific branch. Next run:
```sh
git update get
```This will get the latest changes from the master and rebase your computer-specific changes on top of them. Then run:
```sh
git update push
```This will let you choose which commits on your computer-specific branch actually belong in master.
When tig launches cherry-pick the commits you want to move from the local branch to master by using ```j/k``` to navigate to the commit and
```C``` to cherry-pick. If a cherry-pick fails quit tig by pressing ```q``` and Ctrl-c to abort git update. Then do the cherry-pick
manually.TODO
====
* Maybe include a script to copy git-update.sh into the git-exec directory (like git flow)
* Move the initial setup into a ```git update init``` command