Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A tool to simplify working with remote branches
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
test
.gitignore
README
Rakefile
TODO
git_remote_branch.gemspec

README

==== Why git_remote_branch? ====

The basic idea for git_remote_branch is to trivialize the interaction with
remote branches in simple situations. 

For now git_remote_branch assumes that the local and remote branches have the
same name. Multiple origins are supported.

Another goal of git_remote_branch is to help teach the real underlying git
commands. Each operation done on your behalf is displayed at the console.



==== Installation ====

sudo gem install webmat-git_remote_branch --source=http://gems.github.com

Note: don't add gems.github.com as a permanent source for your gems. Check out
http://gems.github.com for more information on the matter. If you've included 
it already and find yourself in trouble, check out 
http://chalain.livejournal.com/71260.html.



==== Usage ====

Notes: 
- parts between brackets are optional
- When 'origin_server' is not specified, the name 'origin' is assumed.

Available commands (with aliases):

== Help ==

$ grb [-h]    #=> Displays help

== create (alias: new) ==
Create a new local branch as well as a corresponding remote branch from the
branch you are currently on.
Automatically track the new remote branch (useful for pulling and merging).
Switch to the new branch.

$ grb create branch_name [origin_server]


== delete (aliases: destroy, kill, remove) ==
Delete the remote branch then delete the local branch.
The local branch is not deleted if there are pending changes.

$ grb delete branch_name [origin_server]


== track (aliases: follow grab fetch) ==
Track an existing remote branch locally.

$ grb track branch_name [origin_server]


== rename (aliases: rn, mv, move) ==
Rename the remote branch by copying and deleting the old name.
Checkout a new local tracking branch with the new name and delete the branch
with the old name.
branch_name is the new name, the old name is always the current branch's

$ grb rename branch_name [origin_server]


== explain ==

All commands can be prepended by the word 'explain'.  Instead of executing the
command, git_remote_branch will simply output the list of commands you need to
run to accomplish that goal.
Examples: 

$ grb explain create
git_remote_branch version 0.2.2

List of operations to do to create a new remote branch and track it locally:

git push origin master:refs/heads/branch_to_create
git fetch origin
git branch --track branch_to_create origin/branch_to_create
git checkout branch_to_create


$ grb explain create my_branch github
git_remote_branch version 0.2.2

List of operations to do to create a new remote branch and track it locally:

git push github master:refs/heads/my_branch
git fetch github
git branch --track my_branch github/my_branch
git checkout my_branch


==== History ====

This script was originally created by Carl Mercier and made public on his blog
here:

No nonsense GIT, part 1: git-remote-branch
http://blog.carlmercier.com/2008/01/25/no-nonsense-git-part-1-git-remote-branch/


I'm using it as a starting point to make it even easier to interact with remote
repositories.


=== Contributors ===

- Mathieu Martin  webmat@gmail.com
- Carl Mercier    (Carl: want your email here?)
- Caio Chassot    dev@caiochassot.com
Something went wrong with that request. Please try again.