Ist es möglich, ein Remote-Repo auf GitHub über die CLI zu erstellen, ohne den Browser zu öffnen?

348

Ich habe ein neues lokales Git-Repository erstellt:

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

Gibt es einen git-Befehl, um ein neues Remote- Repo zu erstellen und mein Commit von hier aus an GitHub zu senden? Ich weiß, dass es keine große Sache ist, einfach einen Browser zu starten und ein neues Repository zu erstellen , aber wenn es eine Möglichkeit gibt, dies über die CLI zu erreichen, würde ich mich freuen.

Ich habe eine große Anzahl von Artikeln gelesen, aber keiner, den ich gefunden habe, erwähnt, wie ein Remote-Repo aus der CLI mit Git-Befehlen erstellt wird. Tim Lucas 'netter Artikel Das Einrichten eines neuen Remote-Git-Repositorys ist der nächste, den ich gefunden habe, aber GitHub bietet keinen Shell-Zugriff .

anddoutoi
quelle

Antworten:

215

Sie können ein GitHub-Repo über die Befehlszeile mithilfe der GitHub-API erstellen. Überprüfen Sie die Repository-API . Wenn Sie etwa ein Drittel des Weges nach unten scrollen, wird ein Abschnitt mit dem Titel "Erstellen" angezeigt , in dem erläutert wird, wie ein Repo über die API erstellt wird (rechts darüber befindet sich ein Abschnitt, in dem auch erläutert wird, wie ein Repo mit der API gegabelt wird ). Natürlich können Sie dies nicht verwenden git, aber Sie können es über die Befehlszeile mit einem Tool wie tun curl.

Außerhalb der API gibt es keine Möglichkeit, ein Repo auf GitHub über die Befehlszeile zu erstellen. Wie Sie bereits bemerkt haben, erlaubt GitHub keinen Shell-Zugriff usw. Abgesehen von der GitHub-API können Sie ein Repo nur über die Webschnittstelle von GitHub erstellen.

Mipadi
quelle
73
Vielen Dank Mipadi! Ich wusste nichts über die GitHub-API. Für alle anderen mit dem gleichen Problem ist dies das, was ich grundsätzlich getan habe : curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame. Ihr API-Token finden Sie auf der GitHub-Site. Klicken Sie auf Kontoeinstellungen , suchen Sie nach Verwaltungsinformationen und API-Token (32 Zeichen lange Zeichenfolge).
anddoutoi
1
Es scheint, dass dies veraltet ist, zumindest finde ich das API-Token dort nicht.
Joachim Breitner
12
API Version 3 Syntax unten über @bennedich stackoverflow.com/a/10325316/305633
JiminyCricket
2
@cseder: Git benötigt dies nicht, um ein Repo zu erstellen, aber das Einrichten eines Repos auf GitHub . Ich glaube nicht, dass Sie mit Mercurial ein Repo auf einem Remote-Server erstellen können, indem Sie auf ein nicht vorhandenes Repo pushen.
Mipadi
5
@cseder: Die Frage ist, ob es möglich ist, ein Remote-Repo auf GitHub über die GitHub-API zu erstellen, nicht, wie ein neues Repo erstellt und auf ein vorhandenes Repo auf GitHub übertragen wird.
Mipadi
321

CLI-Befehle für die Github-API v3 (ersetzen Sie alle CAPS-Schlüsselwörter):

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
bennedich
quelle
43
Das kleine Problem mit dem ersten Befehl ist, dass Sie Ihr GitHub-Passwort in Ihrem ~/.bash_history. Ich würde vorschlagen , ersetzen -u 'USER:PASS'mit -u 'USER', dann curl werden Sie gefragt , interaktiv für Passwort.
Ivanzoid
20
Um das Repo von Anfang an privat zu machen, verwenden Sie:curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}'
Joe Fletcher
3
Ich habe ein Bash-Skript geschrieben, um uns allen das Tippen zu ersparen. Nimmt Benutzereingaben entgegen und hat sinnvolle Standardeinstellungen
RobW
3
So fügen Sie es als Git-Alias ​​hinzu:git config --global alias.gh-create '!sh -c "curl -u \"USERNAME\" https://api.github.com/user/repos -d \"{\\\"name\\\":\\\"$1\\\"}\"" -'
Robin Winslow
13
Vergessen Sie nicht, dass Sie ein Zugriffstoken generieren und folgendermaßen verwenden können : curl https://api.github.com/user/repos?access_token=myAccessToken -d '{"name":"REPO"}'. :-)
Ionică Bizău
69

Dies kann mit drei Befehlen erfolgen:

curl -u 'nyeates' https://api.github.com/user/repos -d '{"name":"projectname","description":"This project is a test"}'
git remote add origin [email protected]:nyeates/projectname.git
git push origin master

(aktualisiert für v3 Github API)


Erklärung dieser Befehle ...

Erstellen Sie ein Github-Repo

    curl -u 'nyeates' https://api.github.com/user/repos -d '{"name":"projectname","description":"This project is a test"}'
  • curl ist ein Unix-Befehl (oben funktioniert auch auf Mac), der URLs abruft und mit ihnen interagiert. Es ist in der Regel bereits installiert.
  • "-u" ist ein Curl-Parameter, der den Benutzernamen und das Kennwort angibt, die für die Serverauthentifizierung verwendet werden sollen.
    • Wenn Sie nur den Benutzernamen angeben (wie im obigen Beispiel gezeigt), fordert curl zur Eingabe eines Kennworts auf.
    • Wenn Sie das Kennwort nicht eingeben müssen, lesen Sie die Dokumentation zur githubs-API zur Authentifizierung
  • "-d" ist ein Curl-Parameter, mit dem Sie POST-Daten mit der Anforderung senden können
  • "Name" sind die einzigen erforderlichen POST-Daten. Ich möchte auch "Beschreibung" hinzufügen
  • Ich fand es gut, alle POST-Daten in einfache Anführungszeichen zu setzen ''

Definieren Sie, wohin Sie drücken möchten

git remote add origin [email protected]:nyeates/projectname.git
  • Definition für Ort und Existenz des verbundenen (Remote-) Repos auf Github hinzufügen
  • "origin" ist ein Standardname, der von git verwendet wird, woher die Quelle stammt
    • Technisch gesehen kam es nicht von Github, aber jetzt wird das Github-Repo die Quelle der Aufzeichnung sein
  • "[email protected]: nyeates" ist eine SSH-Verbindung, bei der davon ausgegangen wird, dass Sie bereits ein vertrauenswürdiges SSH-Schlüsselpaar mit Github eingerichtet haben.

Schieben Sie das lokale Repo auf Github

git push origin master
  • Push zur Ursprungsfernbedienung (Github) vom lokalen Master-Zweig
Nein
quelle
54

Wenn Sie das hervorragende Hub- Tool von defunkt installieren , ist dies so einfach wie möglich

git create

Mit den Worten des Autors: " Hub ist ein Befehlszeilen-Wrapper für Git, der Sie bei GitHub besser macht. "

Kavalkade
quelle
3
Ich liebe hub! Ebenfalls nützlich ist das hub- oder wie hubnormalerweise Aliase für git... git fork, das eine Abzweigung des Repos für das pwdeines geklonten Repos erstellt, in dem Sie sich befinden ... Yay.
Alex Gray
2
Dieses Tool ist fantastisch! Es kümmert sich darum, Ihr Authentifizierungstoken für Sie zu speichern, damit Sie Ihr Passwort nicht immer wieder eingeben müssen. Überprüfen Sie auch das ZSH-Plugin für Github.
Dorian
19

Einfache Schritte (mit git+ hub=> GitHub ):

  1. Installieren Sie Hub ( GitHub ).

    • OS X: brew install hub
    • mit gehen :go get github.com/github/hub
    • ansonsten (auch mit Go ):

      git clone https://github.com/github/hub.git && cd hub && ./script/build
      
  2. Gehen Sie zu Ihrem Repo oder erstellen Sie ein leeres : mkdir foo && cd foo && git init.

  3. Führen Sie : hub create, Sie werden zum ersten Mal nach GitHub-Anmeldeinformationen gefragt.

    Verwendungszweck: hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]

    Beispiel: hub create -d Description -h example.com org_name/foo_repo

    Hub fordert beim ersten Zugriff auf die API zur Eingabe des GitHub-Benutzernamens und -Kennworts auf und tauscht sie gegen ein OAuthToken aus, das gespeichert wird~/.config/hub .

    Um das neue Repository explizit zu benennen, übergeben Sie es NAME, optional in ORGANIZATION/NAMEForm, um es unter einer Organisation zu erstellen, der Sie angehören.

    -pErstellen Sie mit , erstellen Sie ein privates Repository -dund -hlegen Sie die Beschreibung und die Homepage des Repositorys fest URL.

    Werden aufgefordert, die Verwendung zu vermeiden GITHUB_USERund GITHUB_PASSWORDUmgebungsvariablen.

  4. Dann festschreiben und wie gewohnt drücken oder hub commit/ prüfen hub push.

Weitere Hilfe erhalten Sie unter : hub help.

Siehe auch: Importieren eines Git-Repositorys über die Befehlszeile von GitHub.

Kenorb
quelle
Wie kann ich die Umgebungsvariablen GITHUB_USER und GITHUB_PASSWORD festlegen?
Kasper
1
Wahrscheinlich können Sie sie exportieren, siehe: GH # 245 .
Kenorb
1
Hat für mich hervorragend funktioniert. Beachten Sie, dass "Hub" auch auf MacPorts verfügbar ist.
Tiktak
Ich denke, das ist was ich gesucht habe! :)
Tᴀʀᴇǫ Mᴀʜᴍᴏᴏᴅ
11

Es gibt einen offiziellen Github-Edelstein , der dies meiner Meinung nach tut. Ich werde versuchen, weitere Informationen hinzuzufügen, während ich lerne, aber ich entdecke dieses Juwel erst jetzt, daher weiß ich noch nicht viel.

UPDATE: Nachdem ich meinen API-Schlüssel festgelegt habe, kann ich über das ein neues Repo auf Github erstellen create Befehl Ich kann jedoch nicht den create-from-localBefehl verwenden, der das aktuelle lokale Repo übernehmen und eine entsprechende Fernbedienung auf Github erstellen soll.

$ gh create-from-local
=> error creating repository

Wenn jemand einen Einblick in diese Sache hat, würde ich gerne wissen, was ich falsch mache. Es wurde bereits ein Problem eingereicht .

UPDATE: Ich habe das irgendwann zum Laufen gebracht. Ich bin mir nicht ganz sicher, wie ich das Problem reproduzieren soll, aber ich habe gerade von vorne angefangen (den .git-Ordner gelöscht).

git init
git add .emacs
git commit -a -m "adding emacs"

Jetzt wird diese Zeile das Remote-Repo erstellen und sogar darauf drücken, aber leider glaube ich nicht, dass ich den Namen des Repos angeben kann, das ich möchte. Ich wollte, dass es auf Github "Dotfiles" heißt, aber das Gh-Juwel verwendete nur den Namen des aktuellen Ordners, der "Jason" war, da ich mich in meinem Home-Ordner befand. (Ich habe ein Ticket hinzugefügt , das nach dem gewünschten Verhalten fragt.)

gh create-from-local

Dieser Befehl akzeptiert andererseits ein Argument, um den Namen des Remote-Repos anzugeben. Er dient jedoch dazu, ein neues Projekt von Grund auf neu zu starten. Wenn Sie diesen Befehl aufrufen, erhalten Sie ein neues Remote-Repo, das ein lokales Repo verfolgt in einem neu erstellten Unterordner relativ zu Ihrer aktuellen Position, beide mit dem als Argument angegebenen Namen.

gh create dotfiles
Jason Marcell
quelle
3
Dieses Projekt hat seit ein paar Jahren keine Arbeit mehr daran gehabt, hat bei mir nicht funktioniert und ist, wie hier angedeutet , tot. Es wurde anscheinend durch das Hub- Tool ersetzt, wie in dieser Antwort vorgeschlagen .
Jameshfisher
9

So erstellen Sie schnell das Remote-Repository mithilfe einer Bash-Shell

Es ist umständlich, jedes Mal, wenn ein Repository erstellt werden soll, den vollständigen Code einzugeben

curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' git remote add origin [email protected]:USER/REPO.git git push origin master

Ein einfacher Ansatz ist:

  1. Erstellen Sie ein Shell-Skript in einem Verzeichnis mit dem Namen / home / USER_NAME / Desktop / my_scripts githubscript.sh
  2. Ändern Sie den folgenden Code und speichern Sie ihn in der githubscript.shDatei
#!bin/bash
curl -u 'YOUR_GITHUB_USER_NAME' https://api.github.com/user/repos -d "{\"name\":\"$1\"}";
git init;
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;

NB Hier $1ist die repository name, die argumentbeim Aufrufen derscript Änderung YOUR_GITHUB_USER_NAMEvor dem Speichern des Skripts übergeben wird.

  1. Legen Sie die erforderlichen Berechtigungen für die scriptDatei fest chmod 755 githubscript.sh

  2. Fügen Sie das Skriptverzeichnis in die Umgebungskonfigurationsdatei ein. nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"

  3. Legen Sie außerdem einen Alias ​​fest, um die Datei githubscript.sh auszuführen. nano ~/.bashrc; alias githubrepo="bash githubscript.sh"

  4. Laden Sie nun die .bashrcund .profile-Dateien im Terminal neu. source ~/.bashrc ~/.profile;

  5. Nun erstellen Sie ein neues Repository, dh demo: githubrepo demo;

Nasif Md. Tanjim
quelle
1
In Ihrem Code, änderte es diesen Teil: git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git; zu git remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git; Für Benutzer, die nicht über SSH - Schlüssel verwenden.
Damiii
5

Basierend auf der anderen Antwort von @Mechanical Snail, außer ohne die Verwendung von Python, was ich als wild übertrieben empfand. Fügen Sie dies zu Ihrem hinzu ~/.gitconfig:

[github]
    user = "your-name-here"
[alias]
    hub-new-repo = "!REPO=$(basename $PWD) GHUSER=$(git config --get github.user); curl -u $GHUSER https://api.github.com/user/repos -d {\\\"name\\\":\\\"$REPO\\\"} --fail; git remote add origin [email protected]:$GHUSER/$REPO.git; git push origin master"
Robru
quelle
Ich liebe diesen Alias. Nochmals vielen Dank, @Robru. PS: Wenn dies nicht funktioniert oder nach einer Neuinstallation des Betriebssystems nicht mehr funktioniert, stellen Sie sicher, dass Curl installiert ist!
Daveloyall
5

Nein, Sie müssen mindestens einmal einen Browser öffnen, um Ihren usernameauf GitHub zu erstellen . Sobald er erstellt wurde, können Sie die GitHub-API nutzen , um Repositorys über die Befehlszeile zu erstellen. Befolgen Sie dazu den folgenden Befehl:

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

Zum Beispiel:

curl -u 'arpitaggarwal' https://api.github.com/user/repos -d '{"name":"command-line-repo"}'
Arpit Aggarwal
quelle
1
Dann git remote add origin https://github.com/github-username/repo-name.gitverknüpfen Sie Ihr lokales Projekt mit github. Für das Beispiel würde der Befehl so aussehen:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
SherylHohman
4

Für Benutzer mit Zwei-Faktor-Authentifizierung können Sie die bennedich-Lösung verwenden, müssen jedoch nur den X-Github-OTP-Header für den ersten Befehl hinzufügen. Ersetzen Sie CODE durch den Code, den Sie vom Zwei-Faktor-Authentifizierungsanbieter erhalten. Ersetzen Sie USER und REPO durch den Benutzernamen und den Namen des Repositorys, wie Sie es in seiner Lösung tun würden.

curl -u 'USER' -H "X-GitHub-OTP: CODE" -d '{"name":"REPO"}' https://api.github.com/user/repos
git remote add origin [email protected]:USER/REPO.git
git push origin master
user886596
quelle
3

Ich habe dafür ein geschicktes Skript namens Gitter geschrieben , das die REST-APIs für GitHub und BitBucket verwendet:

https://github.com/dderiso/gitter

Bit Bucket:

gitter -c -r b -l javascript -n node_app

GitHub:

gitter -c -r g -l javascript -n node_app
  • -c = neues Repo erstellen
  • -r = Repo-Anbieter (g = GitHub, b = BitBucket)
  • -n = Benennen Sie das Repo
  • -l = (optional) Legt die Sprache der App im Repo fest
D.Deriso
quelle
3

Ich habe dafür einen Git-Alias ​​erstellt, basierend auf Bennedichs Antwort . Fügen Sie Folgendes hinzu ~/.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\", \"[email protected]:{0}/{1}.git\".format(user, repo)]); check_call([\"git\", \"push\", \"origin\", \"master\"])'"

Führen Sie es aus, um es zu verwenden

$ git hub-new-repo

Geben Sie von überall im lokalen Repository aus Ihr Github-Passwort ein, wenn Sie dazu aufgefordert werden.

Mechanische Schnecke
quelle
Das hat bei mir nicht funktioniert. Es gibt 'Keine solche Datei oder kein solches Verzeichnis' zurück
adamwong246
Das hat auch bei mir nicht funktioniert. Es kehrt zurückcurl: (22) The requested URL returned error: 401 Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib64/python3.2/subprocess.py", line 488, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['curl', '-u', 'myusername', 'https://api.github.com/user/repos', '-d', '{"name": "reponame"}', '--fail']' returned non-zero exit status 22
Da Frenk
1
Die Verwendung von Python ist ein bisschen viel und fügt viel Rauschen in Form von zusätzlichen Backslashes und anderen Interputationen hinzu. Ich habe eine Version mit nur bash gemacht: stackoverflow.com/a/28924077/1423157
robru
3

Was Sie brauchen, ist Hub . Hub ist ein Befehlszeilen-Wrapper für Git. Es wurde entwickelt, um mithilfe von Alias ​​in natives Git zu integrieren. Es wird versucht, Github-Aktionen in Git bereitzustellen, einschließlich der Erstellung eines neuen Repositorys.

→  create a repo for a new project
$ git init
$ git add . && git commit -m "It begins."
$ git create -d "My new thing"
→  (creates a new project on GitHub with the name of current directory)
$ git push origin master
cnvzmxcvmcx
quelle
3

Für Rubyisten:

gem install githubrepo
githubrepo create *reponame*

Geben Sie den Benutzernamen und pw ein, wenn Sie dazu aufgefordert werden

git remote add origin *ctrl v*
git push origin master

Quelle: Elikem Adadevoh

Benjamin Dunphy
quelle
3

Für alle Python 2.7. * Benutzer. Es gibt einen Python-Wrapper um die Github-API , der derzeit auf Version 3 ist und GitPython heißt . Einfach mit easy_install PyGithuboder installieren pip install PyGithub.

from github import Github
g = Github(your-email-addr, your-passwd)
repo = g.get_user().user.create_repo("your-new-repos-name")

# Make use of Repository object (repo)

Die RepositoryObjektdokumente sind hier .

quine
quelle
2

Anweisungen zum Erstellen eines Tokens finden Sie hier. Dies ist der Befehl, den Sie eingeben werden (ab dem Datum dieser Antwort. (Alle CAPS-Schlüsselwörter ersetzen):

curl -u 'YOUR_USERNAME' -d '{"scopes":["repo"],"note":"YOUR_NOTE"}' https://api.github.com/authorizations

Sobald Sie Ihr Passwort eingegeben haben, sehen Sie Folgendes, das Ihr Token enthält.

{
  "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"
}

Sie können Ihren Token jederzeit widerrufen, indem Sie hier klicken

reubano
quelle
2

Aus Wiederholungsgründen kann ich dies nicht als Kommentar hinzufügen (wo es besser zu Bennedichs Antwort passt ), aber für die Windows-Befehlszeile ist hier die richtige Syntax:

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

Es ist dieselbe Grundform, aber Sie müssen doppelte Anführungszeichen (") anstelle von einfachen Anführungszeichen verwenden und die doppelten Anführungszeichen, die in den POST-Parametern (nach dem Flag -d) gesendet werden, mit umgekehrten Schrägstrichen umgehen. Ich habe auch die einfachen Anführungszeichen um meinen Benutzernamen entfernt. aber wenn Ihr Benutzername ein Leerzeichen hätte (möglich?), würde er wahrscheinlich doppelte Anführungszeichen benötigen.

Traycerb
quelle
Gut zu wissen für Windows-Benutzer. Nein, Benutzernamen dürfen keine Leerzeichen enthalten (Im Anmeldeformular auf github.com heißt es: "Benutzername darf nur alphanumerische Zeichen oder einzelne Bindestriche enthalten und darf nicht mit einem Bindestrich beginnen oder enden"). Daher ist keine doppelte Anführungszeichen für den Benutzernamen erforderlich.
mklement0
Github Power Shell akzeptiert -u nicht mit Curl, unter Windows :(
JuliandotNut
2

Disclamier: Ich bin der Autor des Open Source-Projekts

Diese Funktionalität wird unterstützt von: https://github.com/chrissound/Human-Friendly-Commands Im Wesentlichen handelt es sich um dieses Skript:

#!/usr/bin/env bash

# Create a repo named by the current directory
# Accepts 1 STRING parameter for the repo description
# Depends on bin: jq
# Depends on env: GITHUB_USER, GITHUB_API_TOKEN
github_createRepo() {
  projName="$(basename "$PWD")"
  json=$(jq -n \
    --arg name "$projName" \
    --arg description "$1" \
    '{"name":$name, "description":$description}')

  curl -u "$GITHUB_USER":"$GITHUB_API_TOKEN" https://api.github.com/user/repos -d "$json"
  git init
  git remote add origin [email protected]:"$GITHUB_USER"/"$projName".git
  git push origin master
};
Chris Stryczynski
quelle
Dies ist in der Tat die neue Art, einen GitHub zu verwenden Personal Access Token. (Die alte Art, es über hinzuzufügen, ?access_token=${ACCESSTOKEN}funktioniert nicht mehr.
not2qubit
0

Ich habe diese Lösung gefunden, die mir gefallen hat: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564

Sie müssen zuerst ein persönliches Github-Zugriffstoken erstellen

Öffnen Sie Ihr ~ / .bash_profile oder ~ / .bashrc in Ihrem bevorzugten Texteditor. Fügen Sie die folgende Zeile am oberen Rand Ihrer Datei hinzu, in der sich die restlichen exportierten Variablen befinden:

export GITHUB_API_TOKEN=<your-token-here>

Irgendwo unten können Sie mit Ihren anderen Bash-Funktionen etwas Ähnliches wie das Folgende einfügen:

function new-git() {
    curl -X POST https://api.github.com/user/repos -u <your-username>:$GITHUB_API_TOKEN -d '{"name":"'$1'"}'
}

Wenn Sie jetzt ein neues Projekt $ new-git awesome-repoerstellen , können Sie den Befehl ausführen , um ein neues öffentliches Remote-Repository in Ihrem Github-Benutzerkonto zu erstellen.

Joshua Dance
quelle
-2

Hier sind meine ersten Git-Befehle (möglicherweise findet diese Aktion in statt 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
T.Todua
quelle
1
Hello-World Repo sollte in diesem Fall bei GitHub verfügbar sein, geht das Problem in der Frage nicht an.
JuliandotNut
-2

Ich habe kürzlich von create-github-repo erfahren . Aus der Readme:

Installieren:

$ npm i -g create-github-repo

Verwendungszweck:

$ export CREATE_GITHUB_REPO_TOKEN=<access_token>
$ create-github-repo --name "My coolest repo yet!"

Oder:

$ create-github-repo <access_token> --name "My coolest repo yet!"
anddoutoi
quelle
-7

Erstellen Sie ein neues Repository in der Befehlszeile

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

Verschieben Sie ein vorhandenes Repository über die Befehlszeile

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

git push -u origin master
Pavan
quelle
1
Das funktioniert nicht; Das Remote- Repository wird nicht erstellt .
Matthew Read