Criei um novo repositório Git local:
~$ mkdir projectname
~$ cd projectname
~$ git init
~$ touch file1
~$ git add file1
~$ git commit -m 'first commit'
Existe algum comando git para criar um novo repositório remoto e enviar por push meu commit ao GitHub a partir daqui? Eu sei que não é grande coisa apenas iniciar um navegador e ir para Criar um novo repositório , mas se houver uma maneira de conseguir isso com a CLI, eu ficaria feliz.
Li uma grande quantidade de artigos, mas nenhum que encontrei mencionou como criar um repositório remoto a partir da CLI usando comandos git. Artigo agradável de Tim Lucas Configurar um novo repositório remoto do git é o mais próximo que encontrei, mas o GitHub não fornece acesso ao shell .
fonte
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
. Seu token de API pode ser encontrado no site do GitHub, clique em Configurações da conta , procure informações administrativas e token de API (cadeia de caracteres de 32 caracteres).Comandos da CLI para a API do github v3 (substitua todas as palavras-chave do CAPS):
fonte
~/.bash_history
. Eu sugiro que substitua-u 'USER:PASS'
por-u 'USER'
, então o curl solicitará a senha de forma interativa.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"}'
. :-)Isso pode ser feito com três comandos:
(atualizado para a API do Github v3)
Explicação desses comandos ...
Criar repositório github
Defina para onde empurrar
Enviar repositório local para o github
fonte
Se você instalar a excelente ferramenta Hub do defunkt , isso se tornará tão fácil quanto
git create
Nas palavras do autor, "o hub é um wrapper de linha de comando para o git que o aprimora no GitHub " .
fonte
hub
! Também útil, é ohub
- ou comohub
é geralmente o apelido degit
...git fork
, que cria uma bifurcação do repositório para opwd
repositório clonado em que você está ... Sim.Etapas simples (usando
git
+hub
=> GitHub ):Instale o Hub ( GitHub ).
brew install hub
go get github.com/github/hub
caso contrário (tendo Go também):
Vá para o seu repo ou criar um vazio:
mkdir foo && cd foo && git init
.Executar:,
hub create
ele perguntará sobre as credenciais do GitHub pela primeira vez.Uso:
hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]
Exemplo:
hub create -d Description -h example.com org_name/foo_repo
Em seguida, confirme e empurre como de costume ou marque
hub commit
/hub push
.Para obter mais ajuda, execute:
hub help
.Consulte também: Importando um repositório Git usando a linha de comando no GitHub.
fonte
Existe uma jóia oficial do github que, eu acho, faz isso. Vou tentar adicionar mais informações à medida que aprender, mas só agora estou descobrindo essa gema, então ainda não sei muito.
ATUALIZAÇÃO: Depois de definir minha chave de API, sou capaz de criar um novo repositório no github por meio do
create
comando, no entanto, não consigo usar ocreate-from-local
comando, que deve pegar o repositório local atual e fazer um controle remoto correspondente no github.Se alguém tiver alguma idéia sobre isso, eu adoraria saber o que estou fazendo de errado. Já existe um problema arquivado .
ATUALIZAÇÃO: Acabei conseguindo que isso funcionasse. Não sei exatamente como reproduzir o problema, mas comecei do zero (excluí a pasta .git)
Agora, essa linha criará o repositório remoto e chegará até ele, mas infelizmente não acho que posso especificar o nome do repositório que gostaria. Eu queria que ele fosse chamado de "dotfiles" no github, mas a gh gem apenas usou o nome da pasta atual, que era "jason" desde que eu estava na minha pasta pessoal. (Adicionei um ticket solicitando o comportamento desejado)
Este comando, por outro lado, aceita um argumento para especificar o nome do repositório remoto, mas destina-se a iniciar um novo projeto do zero, ou seja, depois que você chama esse comando, você obtém um novo repositório remoto que rastreia um repositório local em uma subpasta criada recentemente em relação à sua posição atual, ambas com o nome especificado como argumento.
fonte
Para criar rapidamente o repositório remoto usando um shell Bash
É complicado digitar o código completo toda vez que um repositório deve ser criado
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
Uma abordagem mais fácil é:
githubscript.sh
githubscript.sh
arquivoNB Aqui
$1
está orepository name
que é passado comoargument
quando se chama ascript
alteraçãoYOUR_GITHUB_USER_NAME
antes de salvar o script.Defina as permissões necessárias para o
script
arquivochmod 755 githubscript.sh
Inclua o diretório de scripts no arquivo de configuração do ambiente.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
Defina também um alias para executar o arquivo githubscript.sh.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Agora recarregue os arquivos
.bashrc
e.profile
no terminal.source ~/.bashrc ~/.profile;
Agora, para criar um novo repositório, ou seja
demo
:githubrepo demo;
fonte
git remote add origin [email protected]:YOUR_GITHUB_USER_NAME/$1.git;
paragit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
usuários que não usam a chave SSH.Com base na outra resposta de @Mechanical Snail, exceto sem o uso de python, que eu achei muito exagero. Adicione isso ao seu
~/.gitconfig
:fonte
Não, você precisa abrir um navegador pelo menos uma vez para criar o seu
username
no GitHub, uma vez criado, você pode aproveitar a API do GitHub para criar repositórios a partir da linha de comando, seguindo o comando abaixo:Por exemplo:
fonte
git remote add origin https://github.com/github-username/repo-name.git
vincule seu projeto local ao github. Para o exemplo, o comando ficaria assim:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
Para usuários com autenticação de dois fatores, você pode usar a solução de bennedich, mas você só precisa adicionar o cabeçalho X-Github-OTP para o primeiro comando. Substitua CODE pelo código que você obtém do provedor de autenticação de dois fatores. Substitua USER e REPO pelo nome de usuário e nome do repositório, como faria em sua solução.
fonte
Eu escrevi um script bacana para isso chamado Gitter usando as APIs REST para GitHub e BitBucket:
https://github.com/dderiso/gitter
BitBucket:
GitHub:
-c
= criar novo repositório-r
= provedor de repositório (g = GitHub, b = BitBucket)-n
= nomeie o repo-l
= (opcional) define o idioma do aplicativo no repositóriofonte
Eu criei um alias do Git para fazer isso, com base na resposta de Bennedich . Adicione o seguinte ao seu
~/.gitconfig
:Para usá-lo, execute
de qualquer lugar dentro do repositório local e digite sua senha do Github quando solicitado.
fonte
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
O que você precisa é de hub . Hub é um wrapper de linha de comando para o git. Foi criado para integrar com o git nativo usando o alias. Ele tenta fornecer ações do github no git, incluindo a criação de um novo repositório.
fonte
Para Rubyists:
digite o nome de usuário e senha conforme solicitado
Fonte: Elikem Adadevoh
fonte
Para todos os usuários do Python 2.7. *. Há um wrapper Python em torno da API do Github que está atualmente na versão 3, chamado GitPython . Basta instalar usando
easy_install PyGithub
oupip install PyGithub
.A
Repository
documentação do objeto está aqui .fonte
Para obter instruções sobre como criar um token, clique aqui Este é o comando que você digitará (na data desta resposta. (Substitua todas as palavras-chave do CAPS):
Depois de inserir sua senha, você verá o seguinte, que contém seu token.
Você pode revogar seu token a qualquer momento acessando aqui
fonte
Por motivos de representação, não posso adicionar isso como um comentário (onde seria melhor ir com a resposta de bennedich ), mas para a linha de comando do Windows, aqui está a sintaxe correta:
curl -u YOUR_USERNAME https://api.github.com/user/repos -d "{\" name \ ": \" YOUR_REPO_NAME \ "}"
É a mesma forma básica, mas você deve usar aspas duplas (") em vez de simples e escapar das aspas duplas enviadas nos parâmetros POST (após o sinalizador -d) com barras invertidas. Também removi as aspas simples ao redor do meu nome de usuário, mas se seu nome de usuário tivesse um espaço (possível?), provavelmente precisaria de aspas duplas.
fonte
Disclamier: Sou o autor do projeto de código aberto
Esta funcionalidade é suportada por: https://github.com/chrissound/Human-Friendly-Commands essencialmente é este script:
fonte
Personal Access Token
. (A maneira antiga de adicioná-lo via?access_token=${ACCESSTOKEN}
não funciona mais.Encontrei esta solução que eu gostei: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564
Primeiro, você precisa criar um token de acesso pessoal do Github
Abra seu ~ / .bash_profile ou ~ / .bashrc no seu editor de texto favorito. Adicione a seguinte linha perto da parte superior do seu arquivo, onde as demais variáveis exportadas são:
export GITHUB_API_TOKEN=<your-token-here>
Em algum lugar abaixo, pelas suas outras funções do bash, você pode colar algo semelhante ao seguinte:
Agora, sempre que você estiver criando um novo projeto, você pode executar o comando
$ new-git awesome-repo
para criar um novo repositório remoto público na sua conta de usuário do Github.fonte
Com a nova interface de linha de comando oficial do Github :
Veja detalhes adicionais e opções e instruções de instalação .
Por exemplo, para concluir seu fluxo de trabalho git:
fonte
aqui estão meus comandos git iniciais (possivelmente, esta ação ocorre em
C:/Documents and Settings/your_username/
):fonte
Recentemente, descobri o create-github-repo . No leia-me:
Instalar:
Uso:
Ou:
fonte
crie um novo repositório na linha de comandos
envie um repositório existente a partir da linha de comando
fonte