{"id":15027985,"url":"https://github.com/rafaballerini/gittutorial","last_synced_at":"2025-04-08T21:18:34.858Z","repository":{"id":37373322,"uuid":"358274339","full_name":"rafaballerini/GitTutorial","owner":"rafaballerini","description":"Tutorial de como usar o Git e Github na prática","archived":false,"fork":false,"pushed_at":"2024-08-18T18:06:40.000Z","size":37,"stargazers_count":9820,"open_issues_count":97,"forks_count":3070,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-08T21:18:29.991Z","etag":null,"topics":["git","git-commit","git-tutorial","github","github-config"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafaballerini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-15T13:45:15.000Z","updated_at":"2025-04-08T18:21:11.000Z","dependencies_parsed_at":"2023-02-17T01:20:37.193Z","dependency_job_id":"64b5172f-5279-48ac-a8ca-6354af27ffcf","html_url":"https://github.com/rafaballerini/GitTutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaballerini%2FGitTutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaballerini%2FGitTutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaballerini%2FGitTutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaballerini%2FGitTutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafaballerini","download_url":"https://codeload.github.com/rafaballerini/GitTutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247927406,"owners_count":21019526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","git-commit","git-tutorial","github","github-config"],"created_at":"2024-09-24T20:07:25.229Z","updated_at":"2025-04-08T21:18:34.832Z","avatar_url":"https://github.com/rafaballerini.png","language":null,"readme":"# Como usar o Git e Github na prática\n \n## Início do vídeo\n\nOie gente sejam bem vindos a mais um vídeo aqui do canal, eu sou a Rafaella Ballerini e hoje eu vou mostrar pra vocês como utilizamos o GIT na prática\n\nNo [vídeo anterior](https://www.youtube.com/watch?v=DqTITcMq68k) eu expliquei os conceitos de alguns termos técnicos que utilizamos quando estamos usando o git, então [nesse vídeo](https://www.youtube.com/watch?v=UBAX-13g8OM) vou mostrar na prática como isso acontece.\n\n## Instalando o GIT\n\n* [Link com os downloads](https://git-scm.com/downloads)\n\n## Criar um projeto novo\n\n* Criar uma nova pasta no PC pra isso chamada `Git Tutorial`\n\n* Abrir o VSCode nessa pasta\n\n* Criar um novo arquivo `README.md`\n\n* Escrever dentro dele `Olá, nesse projeto você aprenderá alguns comandos do Git`\n\n* Salva o arquivo\n\nAgora então é hora de usarmos o Git\n\n* Abre o Git Bash que foi instalado na máquina (pode ser pelo terminal do VSCode mesmo)\n\n* `git init` para inicializar o repositório\n\nFoi criada uma pastinha `.git` e é ali que toda a mágica acontece, então não apague\n\n* `git add README.md` para colocar o arquivo na área de stagging \n\n\u003cimg src=\"https://i1.wp.com/www.markus-gattol.name/misc/mm/si/content/git_git_add.png\"\u003e\n\nEsse `add` é necessário antes de darmos o commit de fato, mas por que isso? No final do vídeo explico para vocês\n\n* `git commit -m \"primeiro commit\"` para de fato dar o commit no repositório\n\n* `git branch -M \"main\"` para alterar o nome da branch principal de `master` para `main` (isso é uma boa prática atualmente recomendada)\n\n## Interfaces Git\n\nBeleza, recebemos a confirmação de que o commit aconteceu, mas isso tá um pouco abstrato ainda né?\nExistem algumas [interfaces legais do git](https://git-scm.com/downloads/guis) que você pode fazer o download para poder visualizar de fato como está o projeto, o que foi alterado em cada commit, quando foi alterado etc.\nAqui eu vou mostrar pra vocês a usarem direto no Github.\n\n## Repositório no Github\n\n* Depois de você ter criado a sua conta na plataforma, você irá em `Criar novo repositório`\n\nVocê vai preencher com as informações do projeto, então dar o nome do repositório, colocar uma breve descrição e criar\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/836828773067915274/unknown.png\"\u003e\n\nLogo depois vai aparecer essa página um pouco cinza e confusa e com vários comandos (pode até perceber que alguns deles jpa usamos), mas o que você tem que fazer é bem simples, apenas copie o link que aparecer para você\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/836828905859186708/unknown.png?width=1440\u0026height=141\"\u003e\n\nLembra do conceito de `remote` que eu expliquei pra vocês no último vídeo? Nós iremos utilizá-lo agora\n\n* Para passar o commit do meu repositório local (da minha máquina) para um repositório na plataforma do Github, usamos o `git remote add origin \u003clink do repositório\u003e`\n\n* `origin` é o nome utilizado para referenciar o nosso repositório\n\nAgora já temos o nosso repositório local conectado com o respositório do Github, porém o `commit` que damos na máquina não sobe automaticamente para a plataforma\n\n* Para isso precisaremos empurrar, enviar para lá com o `git push -u origin main`\n\nAgora se recarregarmos a página iremos ver o nosso arquivo aqui na plataforma!\n\n## Alterando e adicionando arquivo\n\nBeleza, agora que temos o nosso repositório no Github configurado direitinho, podemos usar e abusar do que o Git oferece, afinal é pra isso que estamos utilizando ele né?\nPrimeira coisa que faremos então é alterar esse arquivo que já commitamos\n\n* Adiciona mais uma frase no arquivo `Essa é uma alteração`\n\n* Além disso iremos criar um novo arquivo `Projeto.md`, onde escreveremos `Esse é o arquivo onde desenvolverei o meu projeto`\n\n* Agora então precisamos subir essa alteração, pra isso seguiremos os mesmos passos de `git add .` (agora ponto `.` pois adiciona todos os arquivos) e `git commit -m \"Primeira alteração\"`\n\n* Lembrando que para alterar algo no nosso respositório do Github precisamos dar o push, então `git push origin main` (sem o -u)\n\nSe olharmos agora o nosso código no Github, ele terá sido alterado, e não só isso, se clicarmos no nome do `commit`, podemos ver exatamente as alterações que foram feitas nele.\nO verde com `+` e o vermelho com `-` mostra, os conteúdos que foram adicionados e editados dentro do código.\nAqui nesse botão poderemos ver todos os commits já feitos anteriormente, então se clicarmos em algum deles, veremos exatamente o que havia sido alterado, além de claro, vermos o código como era. Incrível né?\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/836830443617648670/unknown.png\"\u003e\n\n## Branch\n\nAté agora tudo o que fizemos de alterações e mandamos de commit, foi na nossa `main`, que é aquela linha do tempo principal.\nAgora vou mostrar pra vocês como criamos uma branch e depois como que juntamos ela com o código que já está na `main` (lembrando que ela é uma linha cronológica adicional/alternativa a principal)\nE outra, a branch pode ser criada tanto para quando você for fazer uma alteração em um arquivo, quando para adicionar outro arquivo dentro do projeto ou mesmo excluir.\n\u003cbr\u003e\nObs. *Lembrem que eu estou aqui editando um arquivo markdown, porém isso tudo vale para qualquer tipo de arquivo com qualquer extensão*\n\n* Nesse caso vamos adicionar um novo arquivo para desenvolver a nossa feature `Botão`\n\n* Então a primeira coisa que fazemos é `git checkout -b \"novo-botao\"`, assim criando uma branch para ele\nEsse comando além de criar a branch já entra nela com o checkout, inclusive se olharmos agora aqui no meu VSCode, estamos dentro dela.\n\n* Vou então criar o arquivo, criar o `botão.md` \"aqui eu crio o botão\"\n\n* E agora fazemos o passo a passo que já sabemos, colocamos a nossa alteração em stagging com o `git add .` e commitamos com o `git commit -m \"novo botão\"`\n\n* Para enviarmos agora que vai ser diferente. Vocês lembram que utilizávamos o `git push orgin main` né? Porém main era aquela branch principal. Agora então usaremos `git push origin botao`\n\nAgora se olharmos o nosso Github, veremos que tem 2 branches, a `main` e a `botao`\n\n\u003cimg src=\"https://media.discordapp.net/attachments/812313742192279612/836820670037622854/unknown.png\"\u003e\n\nVamos supor que eu ainda não tivesse terminado de desenvolver o botão, eu poderia continuar tranquilamente na branch `botao` até terminar!\n\nMas Rafa, e se eu precisasse por algum motivo voltar naquela branch `main` e desenvolver a partir do que deixei lá? Sem problemas, a única coisa que você precisa fazer nesse caso é `git checkout main`, e pra voltar depois é só `git checkout botao` novamente\n\nBeleza! Agora desenvolvi tudo o que queria aqui na branch `botao`, como que junto ela com a main sem problemas?\n\n## Merge\n\n* Agora o que precisamos fazer é ir para a nossa branch principal `git checkout main` e lá faremos o merge com a branch `botao` que criamos, com `git merge botao`\n\nPronto, agora tudo o que tinha de alteração na branch `botao` juntou com a `main`\n\n* Para finalizar então, vamos jogar lá no Github isso tudo com o `git push origin main`\n\n## Clone\n\nComo vocês podem baixar meu código?\n\nSempre que você entrar em um repositório, seja o seu ou o de qualquer outra pessoa, terá esse botão `Code`, que quando você clica aparece um link:\n\n\u003cimg src=\"https://media.discordapp.net/attachments/812313742192279612/836823564513705994/unknown.png\"\u003e\n\n* Você irá copiar esse link e levar ele lá pro nosso terminal\n\n* O comando para puxar o projeto para a sua máquina é o `git clone https://github.com/rafaballerini/GitTutorial.git`\n\nNão é necessário criar um repositório antes disso, como fizemos anteriormente com o `git init`. Dessa vez, basta abrir o terminal e clonar o projeto e tudo aparecerá!\n\n## Pull\n\nE se eu fizer uma alteração no repositório, como vocês podem atualizar na máquina de vocês?\n\n* Basta vocês executarem o comando `git pull`, ele irá puxar todas as alterações feitas no repositório do Github para o seu repositório local\n\n## Fork\n\nMas Rafa quando eu fiz o clone do seu repositório ele não apareceu no meu Github.\nExiste a ferramenta `fork`, que é bem mais simples para fazer isso\nVocê só precisa apertar nesse botão dentro do repositório e TCHANAM! Ele aparece automaticamente lá na sua conta:\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/836826687634407434/unknown.png\"\u003e\n\n## Pull request\n\nO último conceito que quero ensinar para vocês é o de Pull Request, vamos entender como ele funciona:\n\n* Após você ter dado um fork no projeto e ele ter ido pra sua conta, você poderá alterar o projeto e adicionar as funcionalidades que deseja\n\n* Você pode por exemplo dar um fork no meu repositório de `Formulário` para adicionar uma validação de campos ou qualquer outra coisa que acha válido\n\n* Depois disso, você poderá salvar o projeto, dar o `git add .`, `git commit -m \"validação de botões\"` e `git push origin main`\n\nQuando você for olhar o seu Github, verá que existe uma mensagem parecida com a seguinte:\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/838990983852458035/unknown.png\"\u003e\n\nIsso significa que a branch do seu repositório está 1 commit \"na frente\" da branch original\n\nO que você deve perceber agora é esse botão que aparece em seguida:\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/838991711249235998/unknown.png\"\u003e\n\nEle servirá para caso você deseje enviar para o dono do repositório original uma solicitação de pull, ou seja, fazer com que ele puxe as alterações que você fez no seu repositório para o repositório dele, original\n\nAo clicar nesse botão, você será direcionado para uma página que fará a avaliação se esse `pull request` terá conflitos ou não com o código no repositório original. Caso não tenha, bastão clicar no botão de `Create pull request`\n\n\u003cimg src=\"https://media.discordapp.net/attachments/831974152667398214/838992584893399100/unknown.png\"\u003e\n\nVocê irá colocar um nome intuitivo, que demonstre a funcionalidade adicionada e o ideal é que você também crie uma boa descrição do que desenvolveu, não somente explicando o que é, mas ensinando ao dono do repositório original a forma como ele poderá testar também\n\nDepois disso, basta esperar para que o dono da branch original aceite o seu pull request\n\n## Finalização\n\nExistem diversas outras funcionalidades do Git e do Github, porém tenho certeza que com tudo isso que vocês viram hoje vocês já conseguem desenvolver um projeto de uma forma bem legal\n\nRecomendo sempre vocês darem uma olhada na [documentação do Git](https://git-scm.com/doc), pois qualquer dúvida que apareça pode ser respondida por lá na explicação\n\n**Não esqueçam de deixar o like e se inscrever no [canal do Youtube](https://youtube.com/RafaellaBallerini) ❤**\n\nAté semana que vem, um beijo!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaballerini%2Fgittutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaballerini%2Fgittutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaballerini%2Fgittutorial/lists"}