如何使用git bash在Github上创建新的仓库?

26

我该如何使用Git Bash从我的计算机创建一个新的代码库?

我按照以下步骤进行:

mkdir ~/Hello-World

cd ~/Hello-World

git init

touch README

git add README

git commit -m 'first commit'

git remote add origin https://github.com/username/Hello-World.git

git push origin master

但是我收到了"致命错误:您在服务器上运行了update-server-info吗?"


重复的http://stackoverflow.com/a/27456812/874188表明(现在?)有一个API可以实现这一点。 - tripleee
8个回答

26

使用git bash无法在GitHub上创建仓库。 Git和GitHub是不同的东西。 GitHub是一个平台,可以让您托管和协作代码,而git是用于版本控制的工具。 您可以在维基百科文章上了解有关它们的更多信息:githubgit

但是,如果您想使用终端创建github仓库,可以使用github api和curl来完成。


8

在github上创建仓库最简单的方法应该是在这一行之前:

git remote add origin https://github.com/username/Hello-World.git

前往https://github.com/new创建一个github仓库,然后运行你的最后两行代码,一切都应该正常工作。


6
能否通过终端在github.com上创建新存储库的方法? - skube

8
我已创建了此Bash文件以实现自动完成所有操作。
#!/bin/sh
reponame="$1"
if [ "$reponame" = "" ]; then
read -p "Enter Github Repository Name: " reponame
fi
mkdir ./$reponame
cd $reponame
curl -u USERNAME https://api.github.com/user/repos -d "{\"name\":\"$reponame\"}"
git init
echo "ADD README CONTENT" > README.md
git add README.md
git commit -m "Starting Out"
git remote add origin git@github.com:USERNAME/$reponame.git
git push -u origin master

那么,怎样操作呢:

复制上面的代码。将其保存为NAME.sh,添加到您的PATH中。重新启动终端或打开一个新终端。

$ NAME newreponame
$ NAME
$ Enter Github Repository Name: 

感谢您的选择。

1
抱歉我来晚了,但我有一个问题。这会创建一个公共的还是私有的GitHub存储库? - DarthVlader

4

首先,在git push之前尝试执行以下操作:

git pull repo branch

那么请尝试以下操作:

$ git init --bare yourreponame.git

然后继续你之前正在做的事情:

touch README

git add README

git commit -m 'first commit'

提交第一次修改

git remote add origin https://github.com/username/Hello-World.git

将远程仓库地址添加到本地仓库

git push origin master

将本地代码推送到远程仓库的master分支上

我已经使用Postman创建了一个存储库,然后使用命令git remote add origin <Url>,再进行推送。谢谢。我想补充说明一下,命令中单词的顺序很重要! - mihkov

4

我认为这是可行的。

您可以使用curl来完成它(如果您在Windows上,您需要安装它)

curl -u USER https://api.github.com/user/repos -d '{ "name": "REPO" }'

请确保用您的Github用户名和要创建的存储库的名称替换USER和REPO。
它会要求输入密码,请输入您的Github管理员密码,然后就可以开始了。
这个问题实际上由James Barnett在此回答:https://teamtreehouse.com/community/how-does-one-add-a-repository-to-github-using-git-commandline-calls-only

1

概述

命令“git”不允许您创建存储库,但可以从BASH脚本在github上创建新存储库。所有解决方案都使用用户/密码身份验证,这是已过时但仍在使用。必须使用个人访问令牌进行身份验证。 以下是解决方案:

第三方应用程序

https://github.com/github/hub

sudo apt install hub;
cd <folder with code>;
hub init;
hub create -p -d "<repo description>" -h "<project site>" \
"user_name>/<repo_name>";

更多选项:https://hub.github.com/hub-create.1.html

纯BASH

REPONAME="TEST";
DOMAIN="www.example.com";
DESCRIPTION="Repo Description";
GITHUB_USER="github_user";

FOLDER="$HOME/temp/$REPONAME";
mkdir -p "$FOLDER"; cd "$FOLDER";

read -r -d '' JSON_TEMPLATE << EOF
{
  "name" : "%s",
  "description" : "%s",
  "homepage" : "%s",
  "visibility" : "private",
  "private" : true,
  "has_issues" : false,
  "has_downloads" : false,
  "has_wiki" : false,
  "has_projects" : false
}
EOF

JSON_OUTPUT=$(printf "$JSON_TEMPLATE" "$REPO_NAME" \
  "$DESCRIPTION" "http://$DOMAIN");

# https://developer.github.com/v3/repos/#create-an-organization-repository
curl -u ${GITHUB_USER} https://api.github.com/user/repos \
  -d "$JSON_OUTPUT"

0

尝试在您的最后一行中添加-u:

git push -u origin master

3
这不适用于创建新的代码库。-u是--set-upstream的缩写。在这里已经很好地解释了:https://dev59.com/dm025IYBdhLWcg3wT0Hq - alexbhandari

0
也许你之所以会遇到这个错误,是因为你没有设置你的身份信息: $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 在这里,你可以找到创建并将你的代码库放在Github上的步骤: http://programertools.blogspot.com/2014/04/how-to-use-github.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接