diff --git a/cap04.Rmd b/cap04.Rmd index b9722b5cf1c339cd4eaa5c76aa31c671ae5fd849..fdf7cea11e638555869de465d77d90f4a967ce6f 100644 --- a/cap04.Rmd +++ b/cap04.Rmd @@ -10,6 +10,101 @@ output: 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: + +```{r, engine="sh", eval=FALSE} +## 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: + +```{r, engine="sh", eval=FALSE} + 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](https://gitlab.c3sl.ufpr.br/profile/keys) e clicar em [Add SSH Key](https://gitlab.c3sl.ufpr.br/profile/keys/new). 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: +```{r, engine="sh", eval=FALSE} +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](https://gitlab.c3sl.ufpr.br/projects/new) 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. + + +```{r, engine="sh", eval=FALSE} +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**: +```{r, engine="sh", eval=FALSE} +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. + +```{r, engine="sh", eval=FALSE} +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. + +```{r, engine="sh", eval=FALSE} +git fetch origin master +``` + +Para verificar as modificações realizadas entre versões de um arquivo basta utilizar o comando ** git diff **: + +```{r, engine="sh", eval=FALSE} +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. + +```{r, engine="sh", eval=FALSE} +git clone git@gitlab.c3sl.ufpr.br:usuario/Teste.git + +``` + + ## 4. Projetos remotos ## ### 4.1 - Configuração de conexão ssh com servidor ### diff --git a/cap04.md b/cap04.md index dc7e9b5a4dc6735336bd7e84e8dce493d1119dc8..82b752a58e555558d78cd82085a1c28a1b54fe2e 100644 --- a/cap04.md +++ b/cap04.md @@ -2,10 +2,113 @@ PET EstatÃstica 29/10/2015 +## 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: + + +```sh +## 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: + + +```sh + 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](https://gitlab.c3sl.ufpr.br/profile/keys) e clicar em [Add SSH Key](https://gitlab.c3sl.ufpr.br/profile/keys/new). 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: + +```sh +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](https://gitlab.c3sl.ufpr.br/projects/new) 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. + + + +```sh +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**: + +```sh +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. + + +```sh +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. + + +```sh +git fetch origin master +``` + +Para verificar as modificações realizadas entre versões de um arquivo basta utilizar o comando ** git diff **: + + +```sh +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. + + +```sh +git clone git@gitlab.c3sl.ufpr.br:usuario/Teste.git + +``` + + ## 4. Projetos remotos ## ### 4.1 - Configuração de conexão ssh com servidor ### -* Criando repositório: como criar o primeiro repositório. * 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;