J'ai créé un nouveau dépôt Git local:
~$ mkdir projectname
~$ cd projectname
~$ git init
~$ touch file1
~$ git add file1
~$ git commit -m 'first commit'
Existe-t-il une commande git pour créer un nouveau référentiel distant et pousser mon commit sur GitHub à partir d'ici? Je sais que ce n'est pas grave de simplement lancer un navigateur et de créer un nouveau référentiel , mais s'il y a un moyen d'y parvenir à partir de la CLI, je serais heureux.
J'ai lu une grande quantité d'articles mais aucun que j'ai trouvé ne mentionne comment créer un référentiel distant à partir de la CLI en utilisant les commandes git. Bel article de Tim Lucas Mettre en place un nouveau référentiel git distant est le plus proche que j'ai trouvé, mais GitHub ne fournit pas d'accès shell .
la source
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
. Votre jeton API peut être trouvé sur le site GitHub, cliquez sur Paramètres du compte , recherchez les informations administratives et le jeton API (chaîne longue de 32 caractères).Commandes CLI pour github API v3 (remplacer tous les mots clés CAPS):
la source
~/.bash_history
. Je suggère de remplacer-u 'USER:PASS'
par-u 'USER'
, puis curl vous demandera le mot de passe de manière interactive.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"}'
. :-)Cela peut être fait avec trois commandes:
(mis à jour pour l'API Github v3)
Explication de ces commandes ...
Créer un dépôt github
Définir où pousser
Pousser le dépôt local vers Github
la source
Si vous installez l' excellent outil Hub de defunkt , cela devient aussi simple que
git create
Selon les mots de l'auteur, " hub est un wrapper de ligne de commande pour git qui vous rend meilleur chez GitHub. "
la source
hub
! Est également utile lehub
- ou commehub
c'est généralement le cas pourgit
...git fork
, ce qui crée un fork du référentiel pour lepwd
référentiel cloné dans lequel vous vous trouvez ... Yay.Étapes simples (en utilisant
git
+hub
=> GitHub ):Installez Hub ( GitHub ).
brew install hub
go get github.com/github/hub
sinon (avoir Go aussi):
Accédez à votre prise en pension ou en créer un vide:
mkdir foo && cd foo && git init
.Exécuter:,
hub create
il vous posera des questions sur les informations d'identification GitHub pour la première fois.Usage:
hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]
Exemple:
hub create -d Description -h example.com org_name/foo_repo
Ensuite, validez et appuyez comme d'habitude ou cochez
hub commit
/hub push
.Pour plus d' aide, exécutez:
hub help
.Voir aussi: Importer un référentiel Git à l'aide de la ligne de commande sur GitHub.
la source
Il y a un joyau github officiel qui, je pense, fait cela. J'essaierai d'ajouter plus d'informations au fur et à mesure que j'apprendrai, mais je ne fais que découvrir ce joyau, donc je ne sais pas encore grand-chose.
MISE À JOUR: Après avoir défini ma clé API, je suis capable de créer un nouveau dépôt sur github via la
create
commande, mais je ne suis pas en mesure d'utiliser lacreate-from-local
commande, qui est censée prendre le dépôt local actuel et faire une télécommande correspondante sur github.Si quelqu'un a un aperçu de cela, j'aimerais savoir ce que je fais mal. Un problème a déjà été déposé .
MISE À JOUR: J'ai finalement réussi à faire fonctionner cela. Je ne sais pas exactement comment reproduire le problème, mais je viens de recommencer à zéro (suppression du dossier .git)
Maintenant, cette ligne va créer le référentiel distant et même pousser vers lui, mais malheureusement, je ne pense pas pouvoir spécifier le nom du référentiel que j'aimerais. Je voulais qu'il soit appelé "dotfiles" sur github, mais la gemme gh a juste utilisé le nom du dossier actuel, qui était "jason" puisque j'étais dans mon dossier personnel. (J'ai ajouté un ticket demandant le comportement souhaité)
Cette commande, en revanche, accepte un argument pour spécifier le nom du référentiel distant, mais elle est destinée à démarrer un nouveau projet à partir de zéro, c'est-à-dire qu'après avoir appelé cette commande, vous obtenez un nouveau référentiel distant qui suit un référentiel local dans un sous-dossier nouvellement créé par rapport à votre position actuelle, tous deux avec le nom spécifié comme argument.
la source
Pour créer rapidement le référentiel distant à l'aide d'un shell Bash
Il est fastidieux de taper le code complet chaque fois qu'un référentiel doit être créé
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
Une approche plus simple consiste à:
githubscript.sh
githubscript.sh
fichierNB Voici
$1
lerepository name
qui est passé en tant queargument
lors de l'appel de lascript
modificationYOUR_GITHUB_USER_NAME
avant d'enregistrer le script.Définissez les autorisations requises sur le
script
fichierchmod 755 githubscript.sh
Incluez le répertoire des scripts dans le fichier de configuration de l'environnement.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
Définissez également un alias pour exécuter le fichier githubscript.sh.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Rechargez maintenant les fichiers
.bashrc
et.profile
dans le terminal.source ~/.bashrc ~/.profile;
Maintenant, pour créer un nouveau référentiel, c'est
demo
-à- dire :githubrepo demo;
la source
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;
pour lesgit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
utilisateurs qui n'utilisent pas la clé SSH.Basé sur l'autre réponse de @Mechanical Snail, sauf sans l'utilisation de python, que j'ai trouvé excessivement exagéré. Ajoutez ceci à votre
~/.gitconfig
:la source
Non, vous devez ouvrir un navigateur au moins une fois pour créer votre
username
sur GitHub, une fois créé, vous pouvez utiliser l'API GitHub pour créer des référentiels à partir de la ligne de commande, en suivant la commande ci-dessous:Par exemple:
la source
git remote add origin https://github.com/github-username/repo-name.git
pour lier votre projet local à github. Pour l'exemple, la commande ressemblerait à ceci:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
Pour les utilisateurs avec une authentification à deux facteurs, vous pouvez utiliser la solution de bennedich, mais il vous suffit d'ajouter l'en-tête X-Github-OTP pour la première commande. Remplacez CODE par le code que vous obtenez du fournisseur d'authentification à deux facteurs. Remplacez USER et REPO par le nom d'utilisateur et le nom du référentiel, comme vous le feriez dans sa solution.
la source
J'ai écrit un script astucieux pour cela appelé Gitter utilisant les API REST pour GitHub et BitBucket:
https://github.com/dderiso/gitter
BitBucket:
GitHub:
-c
= créer un nouveau référentiel-r
= fournisseur de référentiel (g = GitHub, b = BitBucket)-n
= nommez le repo-l
= (facultatif) définissez la langue de l'application dans le référentiella source
J'ai créé un alias Git pour ce faire, basé sur la réponse de Bennedich . Ajoutez ce qui suit à votre
~/.gitconfig
:Pour l'utiliser, exécutez
depuis n'importe où dans le référentiel local et entrez votre mot de passe Github lorsque vous y êtes invité.
la source
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
Ce dont vous avez besoin, c'est d'un hub . Hub est un wrapper de ligne de commande pour git. Il a été conçu pour s'intégrer à git natif en utilisant un alias. Il essaie de fournir des actions github dans git, y compris la création d'un nouveau référentiel.
la source
Pour les rubis:
entrez le nom d'utilisateur et pw comme demandé
Source: Elikem Adadevoh
la source
Pour tous les utilisateurs de Python 2.7. *. Il existe un wrapper Python autour de l' API Github qui est actuellement sur la version 3, appelé GitPython . Installez simplement en utilisant
easy_install PyGithub
oupip install PyGithub
.Les
Repository
documents d'objet sont ici .la source
Pour obtenir des instructions sur la création d'un jeton, cliquez ici. Voici la commande que vous saisirez (à la date de cette réponse. (Remplacez tous les mots clés CAPS):
Une fois que vous avez entré votre mot de passe, vous verrez ce qui suit qui contient votre jeton.
Vous pouvez révoquer votre jeton à tout moment en allant ici
la source
Pour des raisons de représentant, je ne peux pas ajouter ceci en tant que commentaire (où cela irait mieux avec la réponse de Bennedich ), mais pour la ligne de commande Windows, voici la syntaxe correcte:
curl -u YOUR_USERNAME https://api.github.com/user/repos -d "{\" name \ ": \" YOUR_REPO_NAME \ "}"
C'est la même forme de base, mais vous devez utiliser des guillemets doubles (") au lieu de simples, et échapper les guillemets doubles envoyés dans les paramètres POST (après l'indicateur -d) avec des barres obliques inverses. J'ai également supprimé les guillemets simples autour de mon nom d'utilisateur, mais si votre nom d'utilisateur avait un espace (possible?), il aurait probablement besoin de guillemets doubles.
la source
Disclamier: je suis l'auteur du projet open source
Cette fonctionnalité est prise en charge par: https://github.com/chrissound/Human-Friendly-Commands c'est essentiellement ce script:
la source
Personal Access Token
. (L'ancienne façon de l'ajouter via?access_token=${ACCESSTOKEN}
ne fonctionne plus.J'ai trouvé cette solution qui m'a plu: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564
Vous devez d'abord créer un jeton d'accès personnel Github
Ouvrez votre ~ / .bash_profile ou ~ / .bashrc dans votre éditeur de texte préféré. Ajoutez la ligne suivante près du haut de votre fichier, où se trouvent les autres variables exportées:
export GITHUB_API_TOKEN=<your-token-here>
Quelque part ci-dessous, par vos autres fonctions bash, vous pouvez coller quelque chose de similaire au suivant:
Désormais, chaque fois que vous créez un nouveau projet, vous pouvez exécuter la commande
$ new-git awesome-repo
pour créer un nouveau référentiel public distant sur votre compte utilisateur Github.la source
Avec la nouvelle interface de ligne de commande officielle de Github :
Voir les détails et options supplémentaires et les instructions d'installation .
Par exemple, pour terminer votre workflow git:
la source
voici mes premières commandes git (éventuellement, cette action a lieu dans
C:/Documents and Settings/your_username/
):la source
J'ai récemment découvert create-github-repo . Du fichier Lisezmoi:
Installer:
Usage:
Ou:
la source
créer un nouveau référentiel sur la ligne de commande
pousser un référentiel existant depuis la ligne de commande
la source