From c360b5e613997f82d2e3fa38e2b6bacd254feb60 Mon Sep 17 00:00:00 2001 From: Walmes Zeviani <walmes@ufpr.br> Date: Mon, 9 Nov 2015 00:42:08 -0200 Subject: [PATCH] =?UTF-8?q?Adiciona=20criar,=20comunicar=20e=20gerenciar?= =?UTF-8?q?=20reposit=C3=B3rio.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cap05.Rmd | 149 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 124 insertions(+), 25 deletions(-) diff --git a/cap05.Rmd b/cap05.Rmd index 930ea49..beac80e 100644 --- a/cap05.Rmd +++ b/cap05.Rmd @@ -174,15 +174,14 @@ Mascot é raccoon: guaxinim ## Criar um perfil -Ilustrar o simples processo de criar um perfil. Explorar um pouco das -interfaces. Terminar com o campo das chaves públicas para então fazer -uso na seção seguinte. - -Criar uma conta no Github é muito simples. Basta entrar em -<https://github.com/join>, preencher os dados pessoais, escolher um -plano (free/público, pago/privado) e fazer um tour pela interface. Como -não existe segredo em preencher os dados pessoais, vamos fazer uma breve -descrição da interface do GitHub. +Criar uma conta no Github é tão simples como uma conta de email ou de +rede social. Acesse o endereço <https://github.com/join> para preencher +seus dados pessoais e escolher um plano. Nenhum dos planos tem limitação +quanto ao número de repositórios ou colaboradores. O que muda é a +quantidade de reposiórios privados. No plano *free*, só são criados +repositórios públicos. Dos planos pagos, o menor deles permite 5 +repositórios privados por um custo de U$ 5 por mês. Acesse +<https://github.com/pricing> para mais detalhes. ### Habilitar comunição ### @@ -191,29 +190,129 @@ http://www.vogella.com/tutorials/GitHosting/article.html Geração e configuração das chaves públicas. Incluir screenshots. -### Generciar repositórios ### +Uma vez criada uma conta, é necessário habilitar a comunicação entre sua +máquina e o (servidor do) GitHub. A comunicação se baseia no protocolo +ssh, o qual já usamos no capítulo anterior para hospedar o repositório +em um servidor remoto. + +Para gerar as chaves públicas, você precisa executar: +```{sh} +## Gera chaves públicas. +ssh-keygen -t rsa -C "seu_email@seu.provedor" +``` + +O endereço padrão para os arquivos criados e o diretório `~/.ssh/`. Os +arquivos serão reescritos caso já existam arquivos de chaves públicas +lá. Toda novo par de chaves é único. Então, se você reescreveu os +arquivos anteriores, terá atualizar as chaves públicas em todos os +serviços web que fazem uso desse recurso e com todos os servidores com o +qual você tem autenticação por chaves. + +No GitHub acesse <https://github.com/settings/ssh> para então adicionar +chaves públicas (Figura XXX). Clique em `Add SSH key`, cole o conteúdo +copiado do arquivo `*.pub` no campo `key`. No campo `Title` identifique +a máquina correspndente àquela chave. Use, por exemplo, `laptop` ou +`trabalho` para facilitar o reconhecimento. É comum trabalhar-se com +mais de um máquina, como uma em casa e outra no trabalho. + + + +FIGURA XXX: *Printscreen* da página de configurações pessoais do +GitHub. No menu `SSH Keys` pode-se ver e adicionar chaves públicas. + +Para testar a comunição entre o GitHub e a sua máquina, execute: +```{sh} +## Testa comunição. Retorna um "Welcome" em caso positivo. +ssh -T git@github.com + +## Se falhar, habilite o modo verbose para rastrear o erro. +ssh -vT git@github.com +``` + +### Gerenciar repositórios ### + +A comunicação com o GitHub acabou de ser estabelecida. Agora podemos +criar repositórios e começar a mostrar nosso trabalho para o mundo e +colaborar de forma eficiente. -No canto superior direito da página tem um ícone $+$ que permite criar -um novo repositório ou uma nova organização. Escolha um nome para -representar o seu repositório e adicione uma breve descrição à ele. Na -etapa seginte, defina o nível de visibilidade: publico ou -privado. Lembre-se que repositórios privados só podem ser criados para -planos não *free*. +No canto superior direito das páginas do GitHub existe um ícone $+$ que +permite criar um novo repositório ou uma nova organização. Clique em +*New repository* ou acesso o endereço <https://github.com/new>. Na +janela que abrir, dê um nome para o seu projeto e adicione uma breve +descrição à ele (Figura XXX). Na etapa seguinte, defina o nível de +visibilidade: público ou privado. Lembre-se que os planos *free* so +permitem repositórios públicos. + + + +FIGURA XXX: Janela para a criação de um novo repositório no GitLab. + +Para criar o projeto dentro de uma Organização, no campo Owner que fica +a esquerda do campo para o nome do repositório, selecione a Organização +na *drop list*. Ao criar o repositório você pode inicilizado criando um arquivo `README.md`. Como já mencionamos, esse arquivo é a capa do seu -repositório e serve para documentar o objetivo. Você pode editar esse -arquivo, ou qualquer outro, de dentro do GitHub e, claro, *commitar* as -alterações que fizer. Depois de criado, é possível clonar o repositório -pelo endereço que é composto pelo seu nome de usuário e nome do -repositório. O repositório `ola-mundo` da conta do `fulano` pode ser -clonado com - -```sh +repositório e serve para documentar o seu objetivo, formas de +colaboração, colaboradores, formas de instalação do software, caso seja +um. + +Você pode editar o arquivo `README.md` (ou qualquer outro) de dentro do +GitHub. As moficações que fizer devem ser *commitadas*. O arquivo de +`README.md`, que é linguagem de marcação MarkDown, é automaticamente +renderizado pelo GitHub fazendo com que urls sejam clicáveis e códigos +estejam em ambientes de fonto monoespaço. + +Depois de criar o repositório, você já pode cloná-lo. O endereço do +repositório é composto pelo seu nome de usuário e nome do repositório. O +repositório `ola-mundo` da conta do `fulano` pode ser clonado com: + +```{sh} +## Clone pelo protocolo ssh. Requer chaves públicas. git clone git@github.com:fulano/ola-mundo.git ``` -Criar, renomear, deletar. Públicos e privados. Adicionar README. +Pode-se clonar repositórios pelo protocolo `http` também. Em geral, para +clonar repositórios de outros usuários e fazer testes, usa-se +`http`. Prefira o *SSH* para trabalhar com os seus repositórios. O +endereço para a ser: + +```{sh} +git clone https://github.com/fulano/ola-mundo.git +``` + +Por padrão, ao clonar o repositório fica dentro de uma pasta de mesmo +nome. Em caso de preferir outro nome, por exemplo, `OlaMundo`, use: + +```{sh} +git clone https://github.com/fulano/ola-mundo.git OlaMundo +``` + +Existe outra situação que é quando você já tem repositório Git no +qual já está trabalhando e quer tê-lo no GitHub. Nesse caso, você faz os +mesmos passos, exceto que não irá cloná-lo, apenas adicionar a url do +repositório GitHub ao repositório local. Vamos supor que o repositório +seja um artigo científico de nome `Artigo`. Ao criar o repositório com +esse nome no GitHub, o endereço fica +`git@github.com:fulano/Artigo.git`. Então é só adicionar esse endereço +ao projeto Git: + +```{sh} +## Adiciona endereço de "origin" ao repositório. +git remote add origin git@github.com:fulano/Artigo.git + +## Sobe o conteúdo do repositório. +git push -u origin master +``` + +O seu projeto é configurado em +<https://github.com/walmes/emacs/settings/>. Para renomear, deletar ou +trasferir o projeto para outro usuário ou organização, vá em +*Options*. Em *Collaborators* você administra os colaboradores do +projeto. Para genrenciar os ramos de trabalho, como proteger ou remover +ramos, vá em *Branches*. O uso de de serviços web é configurado no +*Webhooks & services*. O *Deploy keys* permite adicionar chaves +públicas. ## Fluxo de trabalho ## -- GitLab