| CARVIEW |
defunkt / hub
- Source
- Commits
- Network (13)
- Issues (5)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Wed Dec 09 12:30:59 -0800 2009 | i hate leaving garbage laying around. git clean. [defunkt] |
| |
.kick | Mon Dec 07 22:28:03 -0800 2009 | add kicker task and test task [defunkt] |
| |
CONTRIBUTORS | Thu Dec 24 10:28:15 -0800 2009 | update contributors [defunkt] |
| |
HISTORY.md | Mon Dec 28 18:36:00 -0800 2009 | update history [defunkt] |
| |
LICENSE | Tue Dec 08 02:13:06 -0800 2009 | MIT [defunkt] |
| |
README.md | Thu Dec 24 10:55:07 -0800 2009 | hub.http-clone config setting [defunkt] |
| |
Rakefile | Fri Dec 11 09:09:23 -0800 2009 | Added install task to Rakefile to install stand... [josh] |
| |
bin/ | Tue Dec 08 00:45:46 -0800 2009 | normal gem file structure [defunkt] |
| |
lib/ | Mon Dec 28 18:33:48 -0800 2009 | Bail out of clone early for URLs. [stephencelis] |
| |
man/ | Thu Dec 24 11:25:43 -0800 2009 | arg stupid significant trailing whitespace in m... [defunkt] |
| |
test/ | Mon Dec 28 18:35:37 -0800 2009 | add test for url clone bugfix [defunkt] |
hub: git + hub = github
hub is a command line utility which adds GitHub knowledge to git.
It can used on its own or as a git wrapper.
Normal:
$ hub clone rtomayko/tilt
Initialized empty Git repository in /Users/chris/sandbox/tilt/.git/
remote: Counting objects: 307, done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 307 (delta 175), reused 85 (delta 45)
Receiving objects: 100% (307/307), 48.91 KiB, done.
Resolving deltas: 100% (175/175), done.
Wrapping git:
$ git clone rack/rack
Initialized empty Git repository in /Users/chris/sandbox/rack/.git/
remote: Counting objects: 4005, done.
remote: Compressing objects: 100% (1738/1738), done.
remote: Total 4005 (delta 2505), reused 3620 (delta 2208)
Receiving objects: 100% (4005/4005), 785.82 KiB | 129 KiB/s, done.
Resolving deltas: 100% (2505/2505), done.
hub requires you have git installed and in your $PATH. It also
requires Ruby 1.8.6+ or Ruby 1.9.1+. No other libraries necessary.
Install
Standalone
hub is most easily installed as a standalone script:
curl -s https://defunkt.github.com/hub/standalone > ~/bin/hub && chmod 755 !#:4
Assuming ~/bin/ is in your $PATH, you're ready to roll:
$ hub version
git version 1.6.4.2
hub version 0.2.0
Homebrew
brew install hub
RubyGems
Though not recommended, hub can also be installed as a RubyGem:
$ gem install git-hub
(Yes, the gem name is git-hub.)
Source
You can also install from source:
$ git clone git://github.com/defunkt/hub.git
$ cd hub
$ rake install prefix=/usr/local
Aliasing
hub works best when it wraps git. This is not dangerous - your
normal git commands should all work. hub merely adds some sugar.
Typing hub alias <shell> will display alias instructions for
your shell. hub alias alone will show the known shells.
For example:
$ hub alias bash
Run this in your shell to start using `hub` as `git`:
alias git=hub
You should place this command in your .bash_profile or other startup
script to ensure runs on login.
The alias command can also be eval'd directly using the -s flag:
$ eval `hub alias -s bash`
Commands
Assuming you've aliased hub to git the following commands now have
superpowers:
git clone
$ git clone schacon/ticgit
> git clone git://github.com/schacon/ticgit.git
$ git clone -p schacon/ticgit
> git clone git@github.com:schacon/ticgit.git
$ git clone resque
> git clone git://github.com/YOUR_USER/resque.git
$ git clone -p resque
> git clone git@github.com:YOUR_USER/resque.git
git remote add
$ git remote add rtomayko
> git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git
$ git remote add -p rtomayko
> git remote add rtomayko git@github.com:rtomayko/CURRENT_REPO.git
git init
$ git init -g
> git init
> git remote add origin git@github.com:YOUR_USER/REPO.git
git push
$ git push origin,staging,qa bert_timeout
> git push origin bert_timeout
> git push staging bert_timeout
> git push qa bert_timeout
git help
$ git help
> (improved git help)
$ git help hub
> (hub man page)
GitHub Login
To get the most out of hub, you'll want to ensure your GitHub login
is stored locally in your Git config.
To test it run this:
$ git config --global github.user
If you see nothing, you need to set the config setting:
$ git config --global github.user YOUR_USER
See https://github.com/guides/local-github-config for more information.
Configuration
If you prefer https:// clones to git:// clones, you can set the
hub.http-clone option using git-config.
For example:
$ git clone defunkt/repl
< git clone >
$ git config --global --add hub.http-clone yes
$ git clone defunkt/repl
< http clone >
Or you can enter this manually into your ~/.gitconfig file:
$ cat ~/.gitconfig
[hub]
http-clone = yes
Prior Art
These projects also aim to either improve git or make interacting with GitHub simpler:
Contributing
Once you've made your great commits:
- Fork hub
- Create a topic branch -
git checkout -b my_branch - Push to your branch -
git push origin my_branch - Create an Issue with a link to your branch
- That's it!
Meta
- Code:
git clone git://github.com/defunkt/hub.git - Home: https://github.com/defunkt/hub
- Bugs: https://github.com/defunkt/hub/issues
- List: https://groups.google.com/group/github
- Test: https://runcoderun.com/defunkt/hub
- Gems: https://gemcutter.org/gems/git-hub
Author
Chris Wanstrath :: chris@ozmm.org :: @defunkt
