Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to create a remote repo on GitHub from the CLI without opening browser?

I created a new local Git repository:

~$ mkdir projectname ~$ cd projectname ~$ git init ~$ touch file1 ~$ git add file1 ~$ git commit -m 'first commit' 

Is there any git command to create a new remote repo and push my commit to GitHub from here? I know it's no big deal to just fire up a browser and head over to Create a New Repository, but if there is a way to achieve this from the CLI I would be happy.

I read a vast amount of articles but none that I found mention how to create a remote repo from the CLI using git commands. Tim Lucas's nice article Setting up a new remote git repository is the closest I found, but GitHub does not provide shell access.

like image 772
anddoutoi Avatar asked Mar 11 '10 09:03

anddoutoi


People also ask

Can I create GitHub repo from command line?

In the command line, navigate to the root directory of your project. Initialize the local directory as a Git repository. To create a repository for your project on GitHub, use the gh repo create subcommand. When prompted, select Push an existing local repository to GitHub and enter the desired name for your repository.

How do I create a remote repository in GitHub?

Adding a remote repository To add a new remote, use the git remote add command on the terminal, in the directory your repository is stored at. The git remote add command takes two arguments: A remote name, for example, origin.

Can I create remote repository from local git?

I think you make a bare repository on the remote side, git init --bare , add the remote side as the push/pull tracker for your local repository ( git remote add origin URL ), and then locally you just say git push origin master . Now any other repository can pull from the remote repository.


2 Answers

CLI commands for github API v3 (replace all CAPS keywords):

curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' # Remember replace USER with your username and REPO with your repository/application name! git remote add origin [email protected]:USER/REPO.git git push origin master 
like image 177
bennedich Avatar answered Oct 11 '22 21:10

bennedich


You can create a GitHub repo via the command line using the GitHub API. Check out the repository API. If you scroll down about a third of the way, you'll see a section entitled "Create" that explains how to create a repo via the API (right above that is a section that explains how to fork a repo with the API, too). Obviously you can't use git to do this, but you can do it via the command line with a tool like curl.

Outside of the API, there's no way to create a repo on GitHub via the command line. As you noted, GitHub doesn't allow shell access, etc., so aside from the GitHub API, the only way to create a repo is through GitHub's web interface.

like image 42
mipadi Avatar answered Oct 11 '22 21:10

mipadi