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 confirmación a GitHub desde aquí? Sé que no es gran cosa simplemente encender un navegador y dirigirse a Crear un nuevo repositorio , pero si hay una manera de lograr esto desde la CLI, sería feliz.
Leí una gran cantidad de artículos, pero ninguno que encontré menciona cómo crear un repositorio remoto desde la CLI usando comandos git. El bonito artículo de Tim Lucas La configuración de un nuevo repositorio git remoto es lo más cercano que encontré, pero GitHub no proporciona acceso de shell .
fuente
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
. Su token API se puede encontrar en el sitio de GitHub, haga clic en Configuración de la cuenta , busque Información administrativa y token API (cadena larga de 32 caracteres).Comandos de la CLI para github API v3 (reemplace todas las palabras clave CAPS):
fuente
~/.bash_history
. Sugeriría reemplazar-u 'USER:PASS'
con-u 'USER'
, luego curl le pedirá una contraseña de forma interactiva.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"}'
. :-)Esto se puede hacer con tres comandos:
(actualizado para v3 Github API)
Explicación de estos comandos ...
Crear repositorio github
Definir dónde empujar
Empuje el repositorio local a github
fuente
Si instala la excelente herramienta Hub de defunkt , entonces esto se vuelve tan fácil como
git create
En palabras del autor, " hub es un contenedor de línea de comandos para git que te hace mejor en GitHub " .
fuente
hub
! También es útil elhub
- o, comohub
suele ser aliasgit
...git fork
, que crea una bifurcación del repositorio para elpwd
repositorio clonado en el que se encuentra ... Yay.Pasos simples (usando
git
+hub
=> GitHub ):Instalar Hub ( GitHub ).
brew install hub
go get github.com/github/hub
de lo contrario (teniendo Go también):
Vaya a su cesión temporal o crear un vacío:
mkdir foo && cd foo && git init
.Ejecutar:
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
Luego confirme y presione como de costumbre o marque
hub commit
/hub push
.Para obtener más ayuda, ejecute:
hub help
.Ver también: Importar un repositorio de Git usando la línea de comando en GitHub.
fuente
Hay una gema oficial de github que, creo, hace esto. Intentaré agregar más información a medida que aprenda, pero recién ahora 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
create
comando, sin embargo, no puedo usar elcreate-from-local
comando, que se supone que toma el repositorio local actual y realiza un control remoto correspondiente en github.Si alguien tiene alguna idea sobre esto, me encantaría saber qué estoy haciendo mal. Ya hay un problema presentado .
ACTUALIZACIÓN: Eventualmente conseguí que esto funcionara. No estoy exactamente seguro de cómo volver a producir el problema, pero recién comencé desde cero (eliminé la carpeta .git)
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 gh 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)
Este comando, por otro lado, acepta un argumento para especificar el nombre del repositorio remoto, pero está destinado a comenzar un nuevo proyecto desde cero, es decir, después de llamar a este comando, obtiene un nuevo repositorio remoto que rastrea un repositorio local en una subcarpeta recién creada en relación con su posición actual, ambos con el nombre especificado como argumento.
fuente
Para crear rápidamente el repositorio remoto utilizando un Bash Shell
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:
githubscript.sh
githubscript.sh
archivoNB Aquí
$1
está lorepository name
que se pasa comoargument
invocando elscript
CambioYOUR_GITHUB_USER_NAME
antes de guardar el script.Establezca los permisos necesarios para
script
archivochmod 755 githubscript.sh
Incluya el directorio de scripts en el archivo de configuración del entorno.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
También establezca un alias para ejecutar el archivo githubscript.sh.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Ahora vuelva a cargar el
.bashrc
y.profile
archivos en la terminal.source ~/.bashrc ~/.profile;
Ahora para crear un nuevo repositorio, es decir
demo
:githubrepo demo;
fuente
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;
agit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
Para usuarios que no usan la clave SSH.Basado en la otra respuesta de @Mechanical Snail, excepto sin el uso de python, que me pareció excesivamente exagerado. Agregue esto a su
~/.gitconfig
:fuente
No, tienes que abrir un navegador al menos una vez para crear tu
username
en GitHub, una vez creado, puedes aprovechar la API de GitHub para crear repositorios desde la línea de comandos, siguiendo el siguiente comando:Por ejemplo:
fuente
git remote add origin https://github.com/github-username/repo-name.git
para vincular su proyecto local a github. Por ejemplo, el comando se vería así:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
Para los 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 USUARIO y REPO con el nombre de usuario y el nombre del repositorio, como lo haría en su solución.
fuente
Escribí un script ingenioso para esto llamado Gitter usando las API REST para GitHub y BitBucket:
https://github.com/dderiso/gitter
BitBucket:
GitHub:
-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 repositoriofuente
He creado un alias de Git para hacer esto, basado en la respuesta de Bennedich . Agregue lo siguiente a su
~/.gitconfig
:Para usarlo, ejecuta
desde cualquier lugar dentro del repositorio local e ingrese su contraseña de Github cuando se le solicite.
fuente
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
Lo que necesitas es hub . Hub es un contenedor de línea de comandos para git. Se ha hecho para integrarse con git nativo usando alias. Intenta proporcionar acciones de github en git, incluida la creación de un nuevo repositorio.
fuente
Para los rubíes:
ingrese nombre de usuario y pw como se le solicite
Fuente: Elikem Adadevoh
fuente
Para todos los usuarios de Python 2.7. *. Hay un contenedor de Python alrededor de la API de Github que se encuentra actualmente en la Versión 3, llamado GitPython . Simplemente instale usando
easy_install PyGithub
opip install PyGithub
.Los
Repository
documentos del objeto están aquí .fuente
Para obtener instrucciones sobre cómo crear un token, vaya aquí. Este es el comando que escribirá (a partir de la fecha de esta respuesta. (Reemplace todas las palabras clave CAPS):
Una vez que ingrese su contraseña, verá lo siguiente que contiene su token.
Puede revocar su token en cualquier momento yendo aquí
fuente
Por razones de representación, no puedo agregar esto como un comentario (donde sería mejor ir 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 debe usar comillas dobles (") en lugar de simples, y escapar de las comillas dobles enviadas en los parámetros POST (después del indicador -d) con barras invertidas. También eliminé las comillas simples alrededor de mi nombre de usuario, pero si su nombre de usuario tuviera un espacio (¿posible?) probablemente necesitaría comillas dobles.
fuente
Descargo de responsabilidad: soy el autor del proyecto de código abierto
Esta funcionalidad es compatible con: https://github.com/chrissound/Human-Friendly-Commands esencialmente es este script:
fuente
Personal Access Token
. (La antigua forma de agregarlo?access_token=${ACCESSTOKEN}
ya no funciona.Encontré esta solución que me gustó: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564
Primero debe crear un token de acceso personal de Github
Abra su ~ / .bash_profile o ~ / .bashrc en su editor de texto favorito. Agregue la siguiente línea cerca de la parte superior de su archivo, donde se encuentran el resto de las variables exportadas:
export GITHUB_API_TOKEN=<your-token-here>
En algún lugar a continuación, mediante sus otras funciones bash, puede pegar algo similar a lo siguiente:
Ahora, cada vez que cree 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.fuente
Con la nueva interfaz de línea de comando oficial de Github :
Ver detalles adicionales y opciones e instrucciones de instalación .
Por ejemplo, para completar su flujo de trabajo git:
fuente
Aquí están mis comandos iniciales de git (posiblemente, esta acción tiene lugar en
C:/Documents and Settings/your_username/
):fuente
Recientemente me enteré de create-github-repo . Del léame:
Instalar en pc:
Uso:
O:
fuente
crear un nuevo repositorio en la línea de comando
empujar un repositorio existente desde la línea de comando
fuente