class: center, middle, inverse, title-slide # Contribuindo através da interface gráfica do RStudio ### R-Ladies São Paulo ### Atualizado em 16/10/2020 --- class: middle, center, inverse
<!-- inicio font awesome --> <script src="https://kit.fontawesome.com/1f72d6921a.js" crossorigin="anonymous"></script> <!-- final font awesome --> <!-- inicio github buttons --> <script async defer src="https://buttons.github.io/buttons.js"></script> <!-- final github buttons --> # Interface gráfica do RStudio --- class: middle ## Interface Gráfica RStudio - O RStudio oferece um cliente Git **simples**, na aba "Git" (em inglês, é chamado de Git Pane). - Esse painel somente aparecerá em projetos que estejam versionados com Git. <img src="img/prints/git-pane.PNG" width="95%" style="display: block; margin: auto;" /> --- ## Equivalência dos principais comandos ### Linha de comando vs RStudio - git status - git add [arquivo] - git commit -m "[mensagem descritiva]" - git diff - git pull - git push - ... --- class: middle ## Git pane - Staged ✅ <img src="img/prints/git-pane-stage.png" width="963" style="display: block; margin: auto;" /> --- class: middle ## Git pane - Commit <img src="img/prints/git-pane-commit.PNG" width="100%" style="display: block; margin: auto;" /> --- class: middle ## Git pane - Commit <img src="img/prints/git_commit.PNG" width="100%" style="display: block; margin: auto;" /> --- class: middle ## Botão Diff -> Review changes <img src="img/prints/git-pane-diff.PNG" width="90%" style="display: block; margin: auto;" /> --- class: middle ## Botão 🕒 (history) -> Review changes <img src="img/prints/git-pane-history.PNG" width="90%" style="display: block; margin: auto;" /> --- class: middle ## Branch <img src="img/prints/git-pane-branch.png" width="960" style="display: block; margin: auto;" /> --- class: middle ## Interface Gráfica RStudio <img src="img/prints/cheatsheet.PNG" width="95%" style="display: block; margin: auto;" /> Fonte: [RStudio Cheatsheet](https://www.rstudio.com/wp-content/uploads/2019/01/Cheatsheets_2019.pdf) --- class: middle, center, inverse # Trabalhando com projetos no RStudio + GitHub -- ## 👩💻 No computador --- ## **Clonando um repositório do GitHub** - [Crie um repositório no GitHub](https://github.com/new), ou abra a página de um repositório já existente. .pull-left[ - Criando um repositório no GitHub: <img src="img/prints/novo-repo.PNG" width="80%" style="display: block; margin: auto;" /> ] .pull-right[ Se o repositório não for "seu", faça um fork primeiro, e clone o seu fork. <img src="img/prints/fork.png" width="100%" style="display: block; margin: auto;" /> ] --- class: middle - No RStudio, crie um novo projeto: File > New Project .pull-left[ - Na aba "Create Project", selecione a opção **Version Control**. <img src="img/prints/proj-version-control-1.PNG" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ - Na aba "Create Project from Version Control", selecione a opção **Git**. <img src="img/prints/proj-version-control-2.png" width="100%" style="display: block; margin: auto;" /> ] --- - Na aba "Clone Git Repository": - **Repository URL**: Cole o link para o repositório - **Project directory name**: Após inserir o repository URL, esse campo será preenchido automaticamente. - **Create project as subdirectory of**: Selecione o diretório onde você deseja manter sua cópia local do repositório. <img src="img/prints/proj-version-control-3.png" width="50%" style="display: block; margin: auto;" /> - O **RStudio** irá fazer o clone do repositório, e abrirá um RProj para ele (caso não exista um ainda, será criado). --- ### Função para criar um arquivo `README`: - Em Markdown: `README.md` ```r usethis::use_readme_md() ``` - Em R Markdown: `README.Rmd` - precisa sempre ser compilado ao `.md` ```r usethis::use_readme_rmd() ``` - O arquivo será criado e aberto, para ser editado e salvo. <img src="https://media2.giphy.com/media/1iu8uG2cjYFZS6wTxv/giphy-downsized.gif" width="30%" style="display: block; margin: auto;" /> --- class: middle bg-main4 ### Exemplo: <img src="img/gifs/create-proj2.gif" width="100%" style="display: block; margin: auto;" /> .minirodape[Caso você esteja vendo a versão em PDF, o video acima não irá funcionar. Veja clicando [neste link](https://beatrizmilz.github.io/slidesR/git_rstudio/img/gifs/create-proj2.gif).] --- ### Crie uma branch - Antes de fazer qualquer modificação, crie uma branch, usando a função `usethis::pr_init(branch = "nome_da_branch")`. - Argumento importante: `branch =` indica o nome da branch que você quer criar. ```r usethis::pr_init(branch = "teste") # ✔ Checking that local branch 'master' has the changes in 'origin/master' # ✔ Creating local PR branch 'teste' # ✔ Switching to branch 'teste' # ● Use `pr_push()` to create PR ``` --- ### Faça alterações e commits - Faça suas contribuições, e sempre faça commits com mensagens que deixem claro as mudanças. - Quando terminar as contribuições necessárias, utilizar a função `pr_push()`: ```r pr_push() # ✔ Pushing local 'teste' branch to 'origin:teste' # ✔ Setting upstream tracking branch for 'teste' to 'origin/teste' # ✔ Create PR at link given below # ✔ Opening URL 'https://github.com/beatrizmilz/RLadies-Git-RStudio-2019/compare/teste' ``` - A página do GitHub será aberta, para que possa completar o Pull Request. --- class: middle ### Crie um Pull Request: <img src="img/prints/pr-push.PNG" width="80%" style="display: block; margin: auto;" /> --- class: middle ### Open a Pull Request: <img src="img/prints/pr-push2.png" width="80%" style="display: block; margin: auto;" /> --- ### Exemplo: PR foi aberto <img src="img/prints/pr-push3.png" width="80%" style="display: block; margin: auto;" /> - Depois dessa etapa, você deve esperar a pessoa que mantém o repositório responder fazendo sugestões para melhorias, aceitando seu PR, etc. --- ### Modificar o PR - Alguém fez uma sugestão, como alterar o PR enviado? Ex: <img src="img/prints/sugestoes-git.PNG" width="70%" style="display: block; margin: auto;" /> - No mesmo projeto e na __mesma branch__ que você usou para enviar o PR, faça as alterações. - Selecione o arquivo modificado para deixá-lo disponível para criar um Commit. Faça o commit. - Para enviar o novo commit, use o Git Push (aperte a seta verde para cima no painel do Git do RStudio). --- ### Depois que o PR é aceito: Merged <img src="img/prints/pr-push4.PNG" width="80%" style="display: block; margin: auto;" /> --- class: middle ### Última etapa: __APÓS__ o PR ter sido aceito (merged) - A função `pr_finish()`: - Retorna para master - Atualiza (usando o pull) o conteúdo - Deleta a branch criada para enviar o PR ```r pr_finish() # ✔ Switching back to 'master' branch # ✔ Pulling changes from GitHub source repo 'origin/master' # ✔ Deleting local 'teste' branch ``` - Pronto!