tag repositorio origin example eliminar ejemplo crear git github ssh version-control command-line-interface

origin - ¿Es posible crear un repositorio remoto en GitHub desde la CLI sin abrir el navegador?



git push origin master (22)

Crear rápidamente el repositorio remoto utilizando un shell Bash

Es engorroso escribir el código completo cada vez que se crea un repositorio

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

Un enfoque más fácil es:

  1. cree un script de shell en un directorio, es decir, / home / USER_NAME / Desktop / my_scripts llamado githubscript.sh
  2. Modifique y guarde el siguiente código en el archivo githubscript.sh

#!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: $1 es el repository name del repository name que se pasa como argument al invocar el script Cambie YOUR_GITHUB_USER_NAME antes de guardar el script.

  1. Establezca los permisos necesarios para el archivo de script chmod 755 githubscript.sh

  2. Incluir el directorio de scripts en el archivo de configuración del entorno. nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"

  3. También establece un alias para ejecutar el archivo githubscript.sh. nano ~/.bashrc; alias githubrepo="bash githubscript.sh"

  4. Ahora vuelva a cargar los archivos .bashrc y .profile en el terminal. source ~/.bashrc ~/.profile;

  5. Ahora para crear un nuevo repositorio, es decir, demo : githubrepo demo;

Creé un nuevo repositorio local de Git:

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

¿Hay algún comando git para crear un nuevo repositorio remoto y enviar mi compromiso a GitHub desde aquí? Sé que no es gran cosa simplemente encender un navegador y dirigirse a Crear un nuevo repositorio , pero si hubiera una forma de lograrlo desde el CLI, me sentiría feliz.

Leí una gran cantidad de artículos, pero ninguno de los que encontré menciona cómo crear un repositorio remoto desde la CLI usando los comandos git. El buen artículo de Tim Lucas La configuración de un nuevo repositorio de git remoto es lo más cercano que he encontrado, pero GitHub no proporciona acceso a la shell .


Aquí están mis comandos iniciales de git (posiblemente, esta acción tenga lugar en 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


Basado en la otra respuesta de @Mechanical Snail, excepto sin el uso de python, que encontré que era tremendamente excesivo. Agrega esto a tu ~/.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"


Comandos CLI para github API v3 (reemplazar todas las palabras clave de CAPS):

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


Encontré esta solución que me gustó: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564

Primero necesitas crear un token de acceso personal de Github

Abre tu ~ / .bash_profile o ~ / .bashrc en tu editor de texto favorito. Agregue la siguiente línea cerca de la parte superior de su archivo, donde el resto de las variables de edición de exportación son:

export GITHUB_API_TOKEN=<your-token-here>

En algún lugar a continuación, mediante sus otras funciones de bash, puede pegar algo similar a lo siguiente:

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

Ahora, cuando esté creando un nuevo proyecto, puede ejecutar el comando $ new-git awesome-repo para crear un nuevo repositorio remoto público en su cuenta de usuario de Github.


Escribí un script ingenioso para este llamado Gitter usando las API REST para GitHub y BitBucket:

https://github.com/dderiso/gitter

BitBucket:

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

GitHub:

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

  • -c = crear nuevo repositorio
  • -r = proveedor de repositorio (g = GitHub, b = BitBucket)
  • -n = nombrar el repositorio
  • -l = (opcional) establece el idioma de la aplicación en el repositorio

Esto se puede hacer con tres comandos:

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

(actualizado para v3 Github API)


Explicación de estos comandos ...

Crear repositorio github

curl -u ''nyeates'' https://api.github.com/user/repos -d ''{"name":"projectname","description":"This project is a test"}''

  • curl es un comando de Unix (el anterior también funciona en mac) que recupera e interactúa con las URL. Normalmente ya está instalado.
  • "-u" es un parámetro de enrollamiento que especifica el nombre de usuario y la contraseña a usar para la autenticación del servidor.
    • Si acaba de dar el nombre de usuario (como se muestra en el ejemplo anterior), curl solicitará una contraseña.
    • Si no desea tener que escribir la contraseña, consulte la documentación de githubs api en Authentication
  • "-d" es un parámetro de rizo que le permite enviar datos POST con la solicitud
  • "nombre" es la única información POST requerida; Me gusta incluir también "descripción"
  • Descubrí que era bueno citar todos los datos POST con comillas simples "

Definir dónde presionar para

git remote add origin [email protected]:nyeates/projectname.git

  • agregue definición para la ubicación y la existencia del repositorio conectado (remoto) en github
  • "origen" es un nombre predeterminado usado por git para el origen de la fuente
    • técnicamente no provino de github, pero ahora el repositorio de github será la fuente de registro
  • "[email protected]: nyeates" es una conexión ssh que asume que ya ha configurado un par de llaves ssh confiable con github.

Empuje repo local para github

git push origin master

  • empujar al origen remoto (github) desde la rama local maestra

Hay una gema oficial de github que, creo, hace esto. Intentaré agregar más información a medida que aprendo, pero recién estoy descubriendo esta gema, así que todavía no sé mucho.

ACTUALIZACIÓN: Después de configurar mi clave API, puedo crear un nuevo repositorio en github a través del comando create , sin embargo, no puedo usar el comando create-from-local , que se supone que toma el repositorio local actual y create-from-local un Control remoto correspondiente en github.

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

Si alguien tiene alguna idea sobre esto, me encantaría saber qué estoy haciendo mal. Ya hay un problema archivado .

ACTUALIZACIÓN: eventualmente conseguí que esto funcionara. No estoy exactamente seguro de cómo volver a producir el problema, pero recién empecé desde cero (eliminé la carpeta .git)

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

Ahora esta línea creará el repositorio remoto e incluso lo empujará, pero desafortunadamente no creo que pueda especificar el nombre del repositorio que me gustaría. Quería que se llamara "dotfiles" en github, pero la gema solo usaba el nombre de la carpeta actual, que era "jason" desde que estaba en mi carpeta de inicio. (Agregué un ticket pidiendo el comportamiento deseado)

gh create-from-local

Este comando, por otro lado, acepta un argumento para especificar el nombre del repositorio remoto, pero está diseñado para comenzar un nuevo proyecto desde cero, es decir, después de llamar a este comando, se obtiene un nuevo repositorio remoto que está rastreando un repositorio local. en una subcarpeta recién creada en relación con su posición actual, ambas con el nombre especificado como argumento.

gh create dotfiles


He creado un alias de Git para hacer esto, basado en la respuesta de Bennedich . Agregue lo siguiente a su ~/.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/"])''"

Para usarlo, ejecute

$ git hub-new-repo

desde cualquier lugar dentro del repositorio local, e ingrese su contraseña de Github cuando se le solicite.


Lo que necesitas es hub . Hub es un contenedor de línea de comandos para git. Se ha hecho para integrarse con git nativo utilizando alias. Intenta proporcionar acciones github en git, incluida la creación de un nuevo repositorio.

→ 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


Para obtener instrucciones sobre cómo crear un token, vaya here Este es el comando que escribirá (a partir de la fecha de esta respuesta. (Reemplace todas las palabras clave de CAPS):

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

Una vez que ingrese su contraseña, verá lo siguiente que contiene su token.

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

Puedes revocar tu token en cualquier momento yendo aquí


Para todos los usuarios de Python 2.7. *. Hay una envoltura de Python alrededor de la API de Github que se encuentra actualmente en la Versión 3, llamada GitPython . Simplemente instale usando easy_install PyGithub o 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)

Los documentos del objeto del Repository están here .


Para usuarios con autenticación de dos factores, puede usar la solución de bennedich, pero solo necesita agregar el encabezado X-Github-OTP para el primer comando. Reemplace CODE con el código que obtiene del proveedor de autenticación de dos factores. Reemplace USER y REPO con el nombre de usuario y el nombre del repositorio, como lo haría en su solución.

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


Pasos simples (usando git + hub => GitHub ):

  1. Instalar Hub ( GitHub ).

    • OS X: brew install hub
    • teniendo Go : go get github.com/github/hub
    • De lo contrario (teniendo Go también):

      git clone https://github.com/github/hub.git && cd hub && ./script/build

  2. Ve a tu repositorio o crea uno vacío: mkdir foo && cd foo && git init .

  3. Ejecute: hub create , le preguntará acerca de las credenciales de GitHub por primera vez.

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

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

    El concentrador solicitará el nombre de usuario y la contraseña de GitHub la primera vez que necesite acceder a la API e intercambiarla por un token OAuth , que guarda en ~/.config/hub .

    Para nombrar explícitamente el nuevo repositorio, pase NAME , opcionalmente en la forma ORGANIZATION/NAME para crear bajo una organización de la que sea miembro.

    Con -p , cree un repositorio privado, y con -d y -h establezca la descripción del repositorio y la URL página de inicio, respectivamente.

    Para evitar que se le solicite, utilice las variables de entorno GITHUB_USER y GITHUB_PASSWORD .

  4. Luego confirme y presione como siempre o verifique hub commit / hub commit / hub push .

Para más ayuda, ejecute: hub help .

Vea también: Importar un repositorio Git usando la línea de comandos en GitHub.


Por razones de representación, no puedo agregar esto como un comentario (donde sería mejor con la respuesta de Bennedich ), pero para la línea de comandos de Windows, aquí está la sintaxis correcta:

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

Es la misma forma básica, pero tienes que usar comillas dobles (") en lugar de simples, y escapar de las comillas dobles enviadas en los parámetros POST (después de la marca -d) con barras invertidas. También eliminé las comillas simples de mi nombre de usuario, pero si su nombre de usuario tuviera un espacio (¿posible?) probablemente necesitaría comillas dobles.


Puede crear un repositorio de GitHub a través de la línea de comandos utilizando la API de GitHub. Echa un vistazo a la API de repositorio . Si se desplaza hacia abajo alrededor de un tercio del camino, verá una sección titulada "Crear" que explica cómo crear un repositorio a través de la API (justo arriba de esa es una sección que explica cómo vincular un repositorio con la API). ). Obviamente, no puedes usar git para hacer esto, pero puedes hacerlo a través de la línea de comandos con una herramienta como curl .

Fuera de la API, no hay forma de crear un repositorio en GitHub a través de la línea de comandos. Como notó, GitHub no permite el acceso a la shell, etc., así que aparte de la API de GitHub, la única forma de crear un repositorio es a través de la interfaz web de GitHub.


Recientemente me enteré de create-github-repo . Desde el readme:

Instalar:

$ npm i -g create-github-repo

Uso:

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

O:

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


Si instala defunkt''s excelente herramienta Hub defunkt''s , esto se vuelve tan fácil como

git create

En palabras del autor, " hub es un envoltorio de línea de comandos para git que te hace mejor en GitHub " .


Disclamier: soy el autor del proyecto de código abierto.

Esta funcionalidad es compatible con: https://github.com/chrissound/LinuxVerboseCommandLib esencialmente es este script:

#!/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 };


No, tiene que abrir un navegador al menos una vez para crear su username de username en GitHub, una vez creado, puede aprovechar la API de GitHub para crear repositorios desde la línea de comandos, siguiendo el siguiente comando:

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

Por ejemplo:

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


Para los rubyistas:

gem install githubrepo githubrepo create *reponame*

ingrese nombre de usuario y pw como se le solicite

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

Fuente: Elikem Adadevoh


crear un nuevo repositorio en la línea de comandos

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

empujar un repositorio existente desde la línea de comandos

git remote add origin https://github.com/**<gituserID>/<RepositoryName>**.git git push -u origin master