Skip to content
Snippets Groups Projects
Select Git revision
  • devel default protected
  • issue#67
  • master protected
  • issue#56
  • week07
  • week06
  • week05
  • week04
  • week08
  • week03
  • week02
  • week01
12 results

cap04.Rmd

Blame
  • title: "Projetos remotos"
    author: "PET Estatística"
    date: "29/10/2015"
    output:
        html_document:
            highlight: pygments
            toc: true
            theme: flatly
            keep_md: true

    1. Configuração de conexão ssh com servidor

    O git possibilita ao usuário realizar uma chave ssh que fará uma conexão segura da sua máquina com o servidor.

    Para obter uma conexão entre a máquina e o servidor, o usuário deve obter uma chave ssh. Para isso começamos com o seguinte comando no terminal:

    ## Gerando uma chave ssh
    ssh-keygen -t rsa -C "usuario@email.com"
    

    A partir deste comando, o usuário poderá alterar o diretório onde será salva a chave ssh. O usuário pode permanecer com o diretório padrão, basta apertar Enter. Agora foram criados dois arquivos no diretório, id_rsa e id_rsa.pub Depois de escolher o diretório onde serão salvos os arquivos, o usuário terá a opção de digitar uma senha ou deixar o espaço em branco.

    Para visualizar a chave basta o usuário digitar o seguinte comando:

     cat ~/.ssh/id_rsa.pub

    No arquivo id_rsa.pub está a chave. O usuário deve copiar o texto deste arquivo na íntegra. Para gerar a conexão ssh com o servidor o usuário deve abrir o site https://gitlab.c3sl.ufpr.br/profile/keys e clicar em Add SSH Key. O usuário deve escrever um título para a sua nova chave, no campo key colar o texto copiado do arquivo id_rsa.pub e adicionar sua nova chave.

    Para checar a configuração da sua máquina com o sevidor basta realizar o seguinte comando:

    ssh -T git@gitlab.c3sl.ufpr.br

    2. Criando um repositório Git

    Criar um repositório no Git e clonar na sua máquina: No link New project do gitlab o usuário deve nomear seu novo projeto (como exemplo nomeamos de Teste), escrever uma breve descrição e selecionar a visibilidade dele (private, internal ou public). Após criar o projeto, uma nova página apresentará instruções com linhas de comando para criar um novo repositório.

    git clone git@gitlab.c3sl.ufpr.br:usuario/Teste.git
    cd Teste
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master

    Acima foi clonado o repositório git na máquina e criado um arquivo README.md, esse arquivo aparece na capa do seu no repositório.

    Agora o usuário já pode criar e alterar arquivos e transferir estes para seu repositório remoto. Basta utilizar os comandos git add, git commit e git push.

    3. Os comandos clone, push, pull e fetch

    Git Push

    Como apresentado no capítulo anterior (Projetos locais) os comandos git add e git commit adicionam os arquivos no repositório. A próxima etapa é enviar o arquivo para o repositório remoto. Para enviar é necessário o comando push:

    git push origin master

    Git Pull

    Assim como o ** git push **, o ** git pull ** também faz transferência de arquivos, porém são transferidos do repositório remoto para a máquina, este comando faz o merge automaticamente.

    git pull origin master

    Git fetch

    O ** git fetch ** baixa arquivos do diretório remoto, porém as modificações devem ser atualizadas por um merge.

    git fetch origin master

    Para verificar as modificações realizadas entre versões de um arquivo basta utilizar o comando ** git diff **:

    git diff master origin/master

    Git clone

    O comando git clone, mostrado na seção anterior, tem a finalidade de clonar repositórios existentes na máquina do usuário.

    git clone git@gitlab.c3sl.ufpr.br:usuario/Teste.git
    

    4. Projetos remotos

    4.1 - Configuração de conexão ssh com servidor

    • Chaves públicas: introdução e breve descrição, facilidade da criação de um repositório devido a disponibilidade do servidor c3sl;
    • Criando chave pública ssh: como gerar uma chave pública ssh que realizará uma conexão segura entre a máquina e o servidor;

    4.2 - Clone, push, pull, fetch

    • Introdução: colaborando em trabalhos coletivos;
    • Clone: como copiar uma um repositório já existente para a sua máquina;
    • Push: como transferir committs de um repositório local para um repositório remoto;
    • Pull: como importar e mesclar arquivos do repositório remoto para a máquina;
    • Fetch: como importar arquivos do repositório remoto para o repositório local, é possível verificar o arquivo antes de integrá-lo ao projeto com o git merge;
    • Pull request: como facilitar a colaboração dos desenvolvedores.