App-GitGot

 view release on metacpan or  search on metacpan

bin/got  view on Meta::CPAN


    # remove all repos tagged 'foo' without confirmation prompts
    got rm -f -t foo

    # remove repo #3 without confirmation prompts and be noisy about it
    got rm -f -v 3

    # show status (up-to-date, dirty, etc.) for all repos
    got status

    # show status for repo #3
    got st 3

    # fetch upstream for all repositories
    got fetch

    # fetch upstream for repo #3
    got fetch 3

    # update all repos with configured remotes
    got update

    # update repo named 'bar'
    got up bar

    # Note: if a repo is in the list but doesn't have a local checkout, 'got
    # update' will create directories as needed and do the initial check out.

    # Run the 'git gc' command to garbage collect in git repos
    got gc

    # spawn a subshell with working directory set to 'path' of repo #1
    got chdir 1

    # spawn a subshell with working directory set to 'path' of repo foo
    got cd foo

    # or use 'tmux' subcommand to open a new tmux window instead
    got tmux 1
    got tmux foo
    # N.b., 'tmux' will reuse an existing window if one is open

    # checkout a local working copy of a repo and add it to your list of repos.
    # will prompt for info on what to name repo, tags, etc.
    got clone <git/http/ssh url>

    # As above, but accept defaults for all options without prompting
    got clone -D <git/http/ssh url>

    # fork a github repo, add it to your list of repos, and check it out in
    # the current working directory
    got fork https://github.com/somebodies/repo_name

    # note: the default path to a repo added via 'fork' is a directory
    # named 'repo_name' in the current working directory

    # if you just want to fork without checking out a working copy:
    got fork --noclone https://github.com/somebodies/repo_name

    # finally, please note that you need a C<~/.github-identity> file set up
    # with your access token or your username and password in the following key-value
    # format:
    user username
    pass password

    # *OR*
    access_token token

    # note that if you specify both, the access_token value will be used

    # show version of got
    got version

=head1 DESCRIPTION

C<got> is a script to make it easier to manage all the version controlled
repositories you have on all the computers you use. It can operate on all,
some, or just one repo at a time, to both check the status of the repo (up to
date, pending changes, dirty, etc.) and sync it with any upstream remote.

got also supports forking a GitHub repo and adding it to the list of managed
repositories.

=head1 OPTIONS

In addition to the subcommand-specific options illustrated in the SYNOPSIS,
all the subcommands accept the following options:

=over 4

=item * C<--verbose / -v>

Be more verbose about what is happening behind the scenes

=item * C<--quiet / -q>

Be more quiet

=item * C<--tags / -t>

Select all repositories that have the given tag. May be given multiple
times. Multiple args are (effectively) 'and'-ed together.

=item * C<--skip-tags / -T>

Skip all repositories that have the given tag. May be given multiple
times. Multiple args are (effectively) 'or'-ed together.  May be combined with
-t to select all repos with the -t tag except for those with the -T tag.

=item * C<--no-color / -C>

Suppress colored output

=item * C<--color-scheme / -c>

Specify a color scheme. Defaults to 'dark'. People using light backgrounds may
want to specify "-c light".

The name given to the option indicates a library to load. By default this
library is assumed to be in the 'App::GitGot::Outputter::' namespace; the
given scheme name will be appended to that namespace. You can load something
from a different namespace by prefacing a '+'. (E.g., '-C +GitGot::pink' will
attempt to load 'GitGot::pink'.)



( run in 1.272 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )