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 o create-from-local
comando, que deve pegar o repositório local atual e fazer um controle remoto correspondente no github.
$ gh create-from-local
=> error creating repository
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)
git init
git add .emacs
git commit -a -m "adding emacs"
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)
gh create-from-local
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.
gh create dotfiles
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).