Skip to content

Download single files or directories from a git remote repository without cloning its entire contents.

License

Notifications You must be signed in to change notification settings

01Joseph-Hwang10/git-remote-get

Repository files navigation

git-remote-get

PyPI version Testsuite Python version Project Status Supported Interpreters License

Download single files or directories from a git remote repository without cloning its entire contents.

Installation

pip install git-remote-get

Usage

Usage: git-remote-get [OPTIONS] PATH [DESTINATION]

  Get a file from a remote git repository

  Arguments:     
    PATH: The path on the remote repository to get the file from
    DESTINATION: The path to save the file to. Defaults to the same as the path.

Options:
  --repo TEXT          The repo to get the file from. You can also set the
                       GGET_REPO environment variable to set this option.
  --from TEXT          Alias for --repo
  --owner TEXT         The owner of the repo to get the file from. You can
                       also set the GGET_OWNER environment variable to set
                       this option.  [required]
  --provider [github]  The remote repository provider to get the file from.
                       Defaults to github. Currently, only github is
                       supported. You can set the GGET_PROVIDER environment
                       variable to set this option.
  --ref TEXT           Branch or commit to get the file from. Defaults to
                       master. You can set the GGET_REF environment variable
                       to set this option.
  --help               Show this message and exit.

You can also use the gget alias for git-remote-get.

.env template

You can create a .env file in the root of your project to set default options for the program.

# .env
GGET_OWNER='<your-git-remote-repository-owner-name>'
GGET_REPO='<your-git-remote-repository-name>'
GGET_PROVIDER='github'
GGET_REF='<your-git-remote-repository-branch-or-commit>'

Examples

# This will download the README file from the octocat/Hello-World repository
# and save it to the current directory with same name
gget README --owner=octocat --repo=Hello-World

# This will download the README file
# and save it to docs/README.md
gget README --owner=octocat --repo=Hello-World docs/README.md

# This will download `examples/tutorial`
# of flask repository and save it to the current directory.
#
# If destination is not provided, the program
# will create a directory with the same name as the PATH.
#
# In other words, you will get `examples/tutorial` directory
# and its contents inside that directory.
gget examples/tutorial --owner=pallets --repo=flask --ref=main

# This will download the `examples/tutorial`
# of flask repository and save it to `tutorial` directory.
#
# In this case, the destination is provided.
# Contents under `examples/tutorial` will be saved to `tutorial-contents` directory.
gget examples/tutorial --owner=pallets --repo=flask --ref=main tutorial-contents

Contributing

Any contribution is welcome! Check out CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information on how to get started.

License

git-remote-get is licensed under a MIT License.

About

Download single files or directories from a git remote repository without cloning its entire contents.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published