GitHub from the command line with hub
Starting a New Project
Starting a new project is also much easier from hub than via the standard GitHub interface. To create a repository to host a new project, simply run:
$ git init $ git add . $ git commit -m "My New Project" $ hub create $ git push -u origin HEAD
Forking from the Command Line
Hub makes the process of collaboration on GitHub much easier by giving you the ability to create fork repositories with just one command. You can also check the CI status of a particular branch of a project or invoke pull requests, all with a single command.
To clone a repo, as above, you can just run:
$ hub clone octocat/MyNewProjectFork
And then navigate to the clone:
cd MyNewProjectFork
Then it's time to fork the repository. You can enter a single command:
$ hub fork --remote-name origin
And then push the fork to your new remote:
$ git push origin feature
Then you can check the CI status of your new fork, again with a single command:
$ hub ci-status --verbose
Automation and API
Perhaps the most powerful feature of hub, and one that more experienced developers will find extremely useful, is the ability to script GitHub tasks via the command line. You can also list or create issues, pull requests, or GitHub releases in the format of your choice. For instance, to list the URLs of the last 20 pull requests for the develop
branch, you can run:
$ hub pr list --limit 20 --base develop --format='%t [%H] | %U%n'
The functionality of hub is then further increased by the hub api
extension [7], which allows you to make any requests that the GitHub API can handle. Support for the API greatly increases the reach and power of hub, because it means you can work with more advanced tools like GraphQL [8] and open source AIs [9] directly from your terminal.
The syntax for working with hub api
is a little more complex than the examples I've given up until now, but the tool comes with a detailed and frequently updated set of manual pages [10] that can take you through the process of extending your hub install.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs