我建立了一個新的本地Git存儲庫: javascript
~$ mkdir projectname ~$ cd projectname ~$ git init ~$ touch file1 ~$ git add file1 ~$ git commit -m 'first commit'
是否有任何git命令來建立一個新的遠程倉庫並今後處將個人提交推送到GitHub? 我知道啓動瀏覽器並轉向建立新存儲庫沒什麼大不了的,但若是有辦法從CLI實現這一點,我會很高興。 java
我閱讀了大量文章,但我沒有提到如何使用git命令從CLI建立遠程倉庫。 Tim Lucas的好文章設置一個新的遠程git存儲庫是我找到的最接近的, 但GitHub不提供shell訪問 。 node
用於github API v3的CLI命令(替換全部CAPS關鍵字): python
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
有關建立令牌的說明,請轉到此處這是您要鍵入的命令(截至本答覆日期。(替換全部CAPS關鍵字): git
curl -u 'YOUR_USERNAME' -d '{"scopes":["repo"],"note":"YOUR_NOTE"}' https://api.github.com/authorizations
輸入密碼後,您將看到包含令牌的如下內容。 github
{ "app": { "name": "YOUR_NOTE (API)", "url": "http://developer.github.com/v3/oauth/#oauth-authorizations-api" }, "note_url": null, "note": "YOUR_NOTE", "scopes": [ "repo" ], "created_at": "2012-10-04T14:17:20Z", "token": "xxxxx", "updated_at": "2012-10-04T14:17:20Z", "id": xxxxx, "url": "https://api.github.com/authorizations/697577" }
你能夠隨時到這裏撤銷你的令牌 shell
若是您安裝defunkt的優秀Hub工具,那麼就變得如此簡單 api
git create
瀏覽器
用做者的話說,「 hub是git的命令行包裝器,能夠讓你在GitHub上更好。 」 app
我爲GitHub和BitBucket使用REST API編寫了一個名爲Gitter的漂亮腳本:
https://github.com/dderiso/gitter
到位桶:
gitter -c -r b -l javascript -n node_app
GitHub的:
gitter -c -r g -l javascript -n node_app
-c
=建立新的回購 -r
= repo provider(g = GitHub,b = BitBucket) -n
=命名repo -l
=(可選)在repo中設置應用程序的語言 基於Bennedich的回答 ,我已經建立了一個Git別名來作這件事。 將如下內容添加到~/.gitconfig
:
[github] user = "your_github_username" [alias] ; Creates a new Github repo under the account specified by github.user. ; The remote repo name is taken from the local repo's directory name. ; Note: Referring to the current directory works because Git executes "!" shell commands in the repo root directory. hub-new-repo = "!python3 -c 'from subprocess import *; import os; from os.path import *; user = check_output([\"git\", \"config\", \"--get\", \"github.user\"]).decode(\"utf8\").strip(); repo = splitext(basename(os.getcwd()))[0]; check_call([\"curl\", \"-u\", user, \"https://api.github.com/user/repos\", \"-d\", \"{{\\\"name\\\": \\\"{0}\\\"}}\".format(repo), \"--fail\"]); check_call([\"git\", \"remote\", \"add\", \"origin\", \"git@github.com:{0}/{1}.git\".format(user, repo)]); check_call([\"git\", \"push\", \"origin\", \"master\"])'"
要使用它,請運行
$ git hub-new-repo
從本地存儲庫中的任何位置,並在提示時輸入您的Github密碼。