# App::gh

## SYNOPSIS

    show help message;

        $ gh help

## COMMANDS


### import

Import a repository to github:

    $ gh import

### info

Show repository info:

    $ cd App
    $ gh info

### commit

commit process:

    % gh commit
    # On branch master
    # Your branch is ahead of 'origin/master' by 3 commits.
    #
    # Changed but not updated:
    #   (use "git add <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #	modified:   Changes
    #	modified:   Makefile.PL
    #	modified:   README.mkd
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    Show Diff(d), Status(s), Commit(c), Quit(q) :___

### recent

get github recent activities.

    $ gh recent

### list:

list all repository of c9s:

    $ gh list c9s

if you want text wrapped:

    $ WRAP=1 gh list c9s

### clone

clone Plack repository from miyagawa:

    $ gh clone miyagawa/Plack   # default: read-only

or:

    $ gh clone miyagawa Plack

    $ gh clone foo Social --http

    $ gh clone foo Social --https

    $ gh clone clkao Web-Hippie --ro

clone from read-only uri:

    $ gh clone miyagawa/Plack --ro

clone from ssh uri:

    $ gh clone miyagawa/Plack --ssh

### search

search repository:

    $ gh search Plack

### all

to clone all repository of miyagawa:

    $ gh all miyagawa

    $ gh all facebook --into facebook

    $ gh all perl6 --into perl6-stuff

    $ gh all perl6 --into perl6-stuff --prompt

    $ gh all perl6 --into perl6-stuff --verbose --prompt

    $ gh all clkao --ro  # read-only


### fork

to fork project:

    $ gh fork clkao AnyMQ

to fork current project:

    $ cd clkao/AnyMQ
    $ gh fork

### network

to show fork network:

    $ cd App-gh/
    $ gh network
        c9s/App-gh - watchers(4) forks(1)
      foo/App-gh - watchers(1) forks(0)

### pull

Pull command behavior

    - Add remote for a fork
    - Fetch remote
    - Merge from fork branch if --merge option is specified.
    - Create a branch if --branch is specified.

First , switch path to your repository:

    $ cd App-gh/

Show up the network by running pull command with no arguments:

    $ gh pull
    ....

To pull from foo and add remote:

    $ gh pull foo
    $ git log foo/master   # to show changes

To pull from foo and merge changes:

    $ gh pull foo -m

To merge foo/feature1 to local/master

    $ gh pull foo feature1 -m

To merge changes from foo/master and create a tracked branch:

    $ gh pull foo --merge --branch
    $ gh pull foo -m -b

### update

Run (pull/push) repository changes from/to remotes, and `git remote update --prune`

    $ gh update

### pullreq

To show pull requests of the project:

    $ cd tokuhirom/Amon
    $ gh pullreq list

And show the pull request

    $ cd gfx/p5-Text-Xslate
    $ gh pullreq show 3

If you want to send pull request about current branch:

    $ cd yappo/p5-AnySan
    $ git checkout -b experimental
    $ vi lib/AnySan.pm
    $ git commit -m "bug fix about ..."
    $ gh pullreq send

### issue

To show issues of the project:

    $ cd mattn/p5-Growl-Any
    $ gh issue list

And show the issue

    $ cd mattn/p5-Growl-GNTP
    $ gh issue show 3

If you want to create issue:

    $ cd mattn/p5-Growl-GNTP
    $ gh issue edit

Or edit issue

    $ gh issue edit 3

And comment to the issue

    $ gh issue comment 3

## COMMAND ALIAS

    "a"  => "all"
    "ci" => "commit"
    "fo" => "fork"
    "is" => "issue"
    "ne" => "network"
    "pr" => "pullreq"
    "pu" => "pull"
    "se" => "search"
    "up" => "update"

## INSTALLATION

To install this module, run the following commands:

    # Makefile.PL needs this
    cpan Module::Install::AuthorTests

	perl Makefile.PL
	make
	make test
	make install

## COMPLETION

### zsh

    $ mkdir ~/.zsh/functions
    $ cp completion/zsh/_gh  ~/.zsh/functions

add ~/.zsh/functions to your fpath

    $ vim ~/.zshrc

    fpath=(~/.zsh/functions/ $fpath)

## DEVELOPMENT

please keep the dependency simple and less.

## SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

    perldoc App::gh

You can also look for information at:

    RT, CPAN's request tracker
        http://rt.cpan.org/NoAuth/Bugs.html?Dist=App-gh

    AnnoCPAN, Annotated CPAN documentation
        http://annocpan.org/dist/App-gh

    CPAN Ratings
        http://cpanratings.perl.org/d/App-gh

    Search CPAN
        http://search.cpan.org/dist/App-gh/


## LICENSE AND COPYRIGHT

Copyright (C) 2010 Cornelius

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

