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 .
quelle
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).CLI-Befehle für die Github-API v3 (ersetzen Sie alle CAPS-Schlüsselwörter):
quelle
~/.bash_history
. Ich würde vorschlagen , ersetzen-u 'USER:PASS'
mit-u 'USER'
, dann curl werden Sie gefragt , interaktiv für Passwort.curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}'
git config --global alias.gh-create '!sh -c "curl -u \"USERNAME\" https://api.github.com/user/repos -d \"{\\\"name\\\":\\\"$1\\\"}\"" -'
curl https://api.github.com/user/repos?access_token=myAccessToken -d '{"name":"REPO"}'
. :-)Dies kann mit drei Befehlen erfolgen:
(aktualisiert für v3 Github API)
Erklärung dieser Befehle ...
Erstellen Sie ein Github-Repo
Definieren Sie, wohin Sie drücken möchten
Schieben Sie das lokale Repo auf Github
quelle
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. "
quelle
hub
! Ebenfalls nützlich ist dashub
- oder wiehub
normalerweise Aliase fürgit
...git fork
, das eine Abzweigung des Repos für daspwd
eines geklonten Repos erstellt, in dem Sie sich befinden ... Yay.Einfache Schritte (mit
git
+hub
=> GitHub ):Installieren Sie Hub ( GitHub ).
brew install hub
go get github.com/github/hub
ansonsten (auch mit Go ):
Gehen Sie zu Ihrem Repo oder erstellen Sie ein leeres :
mkdir foo && cd foo && git init
.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
Dann festschreiben und wie gewohnt drücken oder
hub commit
/ prüfenhub push
.Weitere Hilfe erhalten Sie unter :
hub help
.Siehe auch: Importieren eines Git-Repositorys über die Befehlszeile von GitHub.
quelle
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 dencreate-from-local
Befehl verwenden, der das aktuelle lokale Repo übernehmen und eine entsprechende Fernbedienung auf Github erstellen soll.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).
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.)
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.
quelle
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:
githubscript.sh
githubscript.sh
DateiNB Hier
$1
ist dierepository name
, dieargument
beim Aufrufen derscript
ÄnderungYOUR_GITHUB_USER_NAME
vor dem Speichern des Skripts übergeben wird.Legen Sie die erforderlichen Berechtigungen für die
script
Datei festchmod 755 githubscript.sh
Fügen Sie das Skriptverzeichnis in die Umgebungskonfigurationsdatei ein.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
Legen Sie außerdem einen Alias fest, um die Datei githubscript.sh auszuführen.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Laden Sie nun die
.bashrc
und.profile
-Dateien im Terminal neu.source ~/.bashrc ~/.profile;
Nun erstellen Sie ein neues Repository, dh
demo
:githubrepo demo;
quelle
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;
zugit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
Für Benutzer, die nicht über SSH - Schlüssel verwenden.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
:quelle
Nein, Sie müssen mindestens einmal einen Browser öffnen, um Ihren
username
auf 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:Zum Beispiel:
quelle
git remote add origin https://github.com/github-username/repo-name.git
verknü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
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.
quelle
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:
GitHub:
-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 festquelle
Ich habe dafür einen Git-Alias erstellt, basierend auf Bennedichs Antwort . Fügen Sie Folgendes hinzu
~/.gitconfig
:Führen Sie es aus, um es zu verwenden
Geben Sie von überall im lokalen Repository aus Ihr Github-Passwort ein, wenn Sie dazu aufgefordert werden.
quelle
curl: (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
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.
quelle
Für Rubyisten:
Geben Sie den Benutzernamen und pw ein, wenn Sie dazu aufgefordert werden
Quelle: Elikem Adadevoh
quelle
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 PyGithub
oder installierenpip install PyGithub
.Die
Repository
Objektdokumente sind hier .quelle
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):
Sobald Sie Ihr Passwort eingegeben haben, sehen Sie Folgendes, das Ihr Token enthält.
Sie können Ihren Token jederzeit widerrufen, indem Sie hier klicken
quelle
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.
quelle
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:
quelle
Personal Access Token
. (Die alte Art, es über hinzuzufügen,?access_token=${ACCESSTOKEN}
funktioniert nicht mehr.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:
Wenn Sie jetzt ein neues Projekt
$ new-git awesome-repo
erstellen , können Sie den Befehl ausführen , um ein neues öffentliches Remote-Repository in Ihrem Github-Benutzerkonto zu erstellen.quelle
Mit der offiziellen neuen Befehlszeilenschnittstelle von Github :
Weitere Details und Optionen sowie Installationsanweisungen finden Sie hier .
So vervollständigen Sie beispielsweise Ihren Git-Workflow:
quelle
Hier sind meine ersten Git-Befehle (möglicherweise findet diese Aktion in statt
C:/Documents and Settings/your_username/
):quelle
Ich habe kürzlich von create-github-repo erfahren . Aus der Readme:
Installieren:
Verwendungszweck:
Oder:
quelle
Erstellen Sie ein neues Repository in der Befehlszeile
Verschieben Sie ein vorhandenes Repository über die Befehlszeile
quelle