Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 59 lines (32 sloc) 3.178 kB
ee1c00c @aanand can you readme major tom
authored
1 git-up
2 ======
b6a2f98 @aanand Initial commit to git-up.
authored
3
b5143ac @aanand Better description in README
authored
4 `git pull` has two problems:
b6a2f98 @aanand Initial commit to git-up.
authored
5
3679582 @aanand Wording.
authored
6 * It merges upstream changes by default, when it's really more polite to [rebase over them](http://www.gitready.com/advanced/2009/02/11/pull-with-rebase.html), unless your collaborators enjoy a commit graph that looks like bedhead.
b5143ac @aanand Better description in README
authored
7 * It only updates the branch you're currently on, which means `git push` will shout at you for being behind on branches you don't particularly care about right now.
8
9 Solve them once and for all:
b6a2f98 @aanand Initial commit to git-up.
authored
10
10c9007 @aanand clarity; when the feeling's gone and you can't go on
authored
11 ![gem install git-up](http://dl.dropbox.com/u/166030/nonsense/git-up.png)
b6a2f98 @aanand Initial commit to git-up.
authored
12
b1bc8c5 @aanand disclaimer for the lamer
authored
13 although
14 --------
15
16 `git-up` might mess up your branches, or set your chest hair on fire, or be racist to your cat, I don't know. It works for me.
17
e7c7dd1 @elliotcm Add bundler configuration to the README.
elliotcm authored
18 configuration
19 -------------
20
ab75aa4 @aanand Overhaul config documentation
authored
21 `git-up` has a few configuration options, which use git's configuration system. Each can be set either globally or per-project. To set an option globally, append the `--global` flag to `git config`, which you can run anywhere:
e7c7dd1 @elliotcm Add bundler configuration to the README.
elliotcm authored
22
9cc6d3f @aanand Use git config, deprecate environment variable
authored
23 git config --global git-up.bundler.check true
24
ab75aa4 @aanand Overhaul config documentation
authored
25 To set it within a project, run the command inside that project's directory and omit the `--global` flag:
9cc6d3f @aanand Use git config, deprecate environment variable
authored
26
ab75aa4 @aanand Overhaul config documentation
authored
27 cd myproject
9cc6d3f @aanand Use git config, deprecate environment variable
authored
28 git config git-up.bundler.check true
29
ab75aa4 @aanand Overhaul config documentation
authored
30 ### `git-up.bundler.check [true|false]`
31
32 If set to `true`, `git-up` will check your app for any new bundled gems and suggest a `bundle install` if necessary.
33
34 It slows the process down slightly, and therefore defaults to `false`.
35
36 ### `git-up.bundler.autoinstall [true|false]`
b5bfee3 @aanand Add git-up.bundler.autoinstall option. Closes #13.
authored
37
ab75aa4 @aanand Overhaul config documentation
authored
38 If you're even lazier, you can tell `git-up` to run `bundle install` for you if it finds missing gems. Make sure `git-up.bundler.check` is also set to `true` or it won't do anything.
477e97a @aanand Document git-up.fetch.prune
authored
39
40 ### `git-up.fetch.prune [true|false]`
41
c5df085 @aanand Merge remote-tracking branch 'nathanaelkane/patch-1'
authored
42 By default, `git-up` will append the `--prune` flag to the `git fetch` command if your git version supports it (1.6.6 or greater), telling it to [remove any remote tracking branches which no longer exist on the remote](http://linux.die.net/man/1/git-fetch). Set this option to `false` to disable it.
cd88693 @decklin Add documentation for fetch.all and log-hook
decklin authored
43
44 ### `git-up.fetch.all [true|false]`
45
46 Normally, `git-up` will only fetch remotes for which there is at least one local tracking branch. Setting this option will it `git-up` always fetch from all remotes, which is useful if e.g. you use a remote to push to your CI system but never check those branches out.
47
ba27957 @nschum Update documentation for "rebase.arguments".
nschum authored
48 ### `git-up.rebase.arguments [string]`
49
50 If this option is set, its contents will be used by `git-up` as additional arguments when it calls `git rebase`. For example, setting this to `--preserve-merges` will recreate your merge commits in the rebased branch.
0d2b927 @aanand Merge remote-tracking branch 'nschum/rebasearguments'
authored
51
557423f @decklin Add rebase.auto documentation to README
decklin authored
52 ### `git-up.rebase.auto [true|false]`
53
54 If this option is set to false, `git-up` will not rebase branches for you. Instead, it will print a message saying they are diverged and let you handle rebasing them later. This can be useful if you have a lot of in-progress work that you don't want to deal with at once, but still want to update other branches.
55
edaf341 @decklin Rename log-hook to rebase.log-hook
decklin authored
56 ### `git-up.rebase.log-hook "COMMAND"`
cd88693 @decklin Add documentation for fetch.all and log-hook
decklin authored
57
edaf341 @decklin Rename log-hook to rebase.log-hook
decklin authored
58 Runs COMMAND every time a branch is rebased or fast-forwarded, with the old head as $1 and the new head as $2. This can be used to view logs or diffs of incoming changes. For example: `'echo "changes on $1:"; git log --oneline --decorate $1..$2'`
Something went wrong with that request. Please try again.