我创建了一个新的本地Git存储库:

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

有没有任何git命令来创建一个新的远程回购,并从这里将我的提交推到GitHub ?我知道打开浏览器去创建一个新的存储库并不是什么大问题,但是如果有一种方法可以从CLI实现这一点,我会很高兴。

我读了大量的文章,但没有一篇提到如何使用git命令从CLI创建远程回购。Tim Lucas的一篇不错的文章“设置一个新的远程git存储库”是我找到的最接近的文章,但是GitHub不提供shell访问。


当前回答

github API v3的CLI命令(替换所有CAPS关键字):

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 git@github.com:USER/REPO.git
git push origin master

其他回答

由于代表的原因,我不能将其作为注释添加(它最好与bennedich的答案一起使用),但对于Windows命令行,以下是正确的语法:

curl -u YOUR_USERNAME https://api.github.com/user/repos -d "{\"name\":\"YOUR_REPO_NAME\"}"

这是相同的基本形式,但必须使用双引号(")而不是单引号,并使用反斜杠转义POST参数中发送的双引号(在-d标志之后)。我还删除了我的用户名周围的单引号,但如果你的用户名有空格(可能吗?),它可能需要双引号。

你可以使用GitHub API通过命令行创建一个GitHub repo。检查存储库API。如果你向下滚动大约三分之一的方式,你会看到一个名为“创建”的部分,解释如何通过API创建一个回购(正上方是一个部分,解释如何用API派生一个回购)。显然你不能使用git来做这件事,但是你可以使用curl这样的工具通过命令行来做这件事。

在API之外,没有办法通过命令行在GitHub上创建一个repo。正如你所注意到的,GitHub不允许shell访问等,所以除了GitHub API,创建回购的唯一方法是通过GitHub的web界面。

这是我的初始git命令(可能,这个操作发生在C:/Documents and Settings/your_username/):

mkdir ~/Hello-World
# Creates a directory for your project called "Hello-World" in your user directory
cd ~/Hello-World
# Changes the current working directory to your newly created directory
touch blabla.html
# create a file, named blabla.html
git init
# Sets up the necessary Git files
git add blabla.html
# Stages your blabla.html file, adding it to the list of files to be committed
git commit -m 'first committttt'
# Commits your files, adding the message 
git remote add origin https://github.com/username/Hello-World.git
# Creates a remote named "origin" pointing at your GitHub repository
git push -u origin master
# Sends your commits in the "master" branch to GitHub

如何使用Bash Shell快速创建远程存储库

每次创建存储库时输入完整的代码是很麻烦的

curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' git远程添加源git@github.com:USER/REPO.git Git push origin master

一个更简单的方法是:

在/home/USER_NAME/Desktop/my_scripts目录下创建一个shell脚本githubscript.sh 修改并保存以下代码到githubscript.sh文件中

#!bin/bash
curl -u 'YOUR_GITHUB_USER_NAME' https://api.github.com/user/repos -d "{\"name\":\"$1\"}";
git init;
git remote add origin git@github.com:YOUR_GITHUB_USER_NAME/$1.git;

注意:这里$1是在调用脚本时作为参数传递的存储库名称 在保存脚本之前更改YOUR_GITHUB_USER_NAME。

为脚本文件设置所需的权限 Chmod 755 githubscript.sh 在环境配置文件中包含脚本目录。 纳米~ / . profile; 导出路径= " $路径:$ HOME /桌面/ my_scripts” 还要设置一个别名来运行githubscript.sh文件。 纳米~ / . bashrc; 别名githubrepo="bash githubscript.sh" 现在在终端中重新加载.bashrc和.profile文件。 ~ /来源。bashrc ~ / . profile (; 现在创建一个新的存储库,即demo: githubrepo演示;

在命令行上创建一个新的存储库

echo "# <RepositoryName>" >> README.md

git init

git add README.md

git commit -m "first commit"

git remote add origin https://github.com/**<gituserID>/<RepositoryName>**.git

git push -u origin master

从命令行推送现有存储库

git remote add origin https://github.com/**<gituserID>/<RepositoryName>**.git

git push -u origin master