Primeiros passos com Git e Github
Tags: beginners, github, git, webdev
Published: 2021-03-01 03:23:37

Fundado em 2008, o Github (recentemente adquirido por $7.5 bilhões pela Microsoft.) é como se fosse uma rede social utilizada principalmente por desenvolvedores. 

Nele você consegue colocar seus projetos pessoais e compartilhar com as pessoas. O famoso open source, que são códigos abertos, também rola bastante por lá e isso possibilita que você possa contribuir com os projetos que possuem código aberto. 

Você pode salvar tudo em forma pública no seu perfil (qualquer pessoa, mesmo sem ter uma conta pode ver e baixar tudo o que você publicar), e de forma privada (somente membros com permissão de acesso podem visualizar ou baixar seu projeto). As <b>vantagens</b> de utilizar essa plataforma são:

<ul>
<li>Organização dos seus projetos;</li>
<li>Compartilhamento dos seus projetos;</li>
<li>Servirá de portfólio para você;</li>
<li>Guardar outros arquivos não somente de código;</li>
<li>Versatilidade: Você pode guardar qualquer tipo de arquivo no git/Github, não necessariamente código. O Github utiliza uma linguagem chamada Markdown, que permite criar listas, links, ancôras, adicionar imagens, vídeos, gifs.</li>
</ul>

<h2>Como criar uma conta?</h2>
 
Clique em "Sign Up" e crie sua conta: 

![Imagem do Github Sign in, tela para fazer cadastro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rbg8rm7qmkh8j5d0lzy.png)
 
![Tela do cadastro do Github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whxl7m4uligl5o89f6uf.png) 


<h2>Agora, o que é o Git?</h2>

Git é um sistema de controle de versão desenvolvido por Linus Torvalds (o criador do Linux).
Com o git conseguimos gerar versões do nosso código, igual aquele trabalho de escola "versão1", "versão2", "versãoAgoraVai" etc…Por isso ele é conhecido como um sistema de VERSIONAMENTO DE CÓDIGO.
Com ele outras pessoas podem trabalhar simultaneamente no mesmo código sem riscos de perdermos nada do nosso trabalho. Temos todo o histórico do que foi modificado e a pessoa que modificou. Fofoqueiro ele, né?

<h2>Por que o Git é importante?</h2>

<ul>
<li>Organização: O Git cria uma timeline com tudo que aconteceu desde o início do projeto. Tudo que foi adicionado, removido, e quem foi o autor.</li>
<li>Projetos com várias pessoas: Evita o “final_valendo_valendo2_oficial”. Também facilita o trabalho em equipe (entender o que foi feito, onde parou, quem fez o que).</li>
<li>Segurança: Se algo der errado, você pode resgatar uma versão anterior, além de ter o seu projeto salvo em um lugar seguro.</li>
</ul>

<h2>O que é a linha de comando/terminal?</h2>

A linha de comando é o terminal, onde o GIT é usado. Ela ajuda a manipular arquivos no computador, mas sem a interface gráfica.
Também tem outros nomes como: cmd, CLI, prompt, console ou terminal. Imagem representando a linha de comando:

![imagem de um terminal como exemplo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nhev51a987no7a1s8t82.png)

<h3>Comandos básicos do terminal</h3>

<h5>Esses comandos servem para para listar arquivos e navegar entre pastas dentro do computador:</h5> 
<ul>
<li>ls - LISTAR (ele traz uma lista de tudo o que está naquela pasta - documentos, outras pastas, etc);</li>
<li>pwd - Present working directory (onde estou?) Ele traz todo o caminho onde você está (em que pasta e onde essa pasta fica);</li>
<li>cd - change directory (use para se locomover entre as pastas);</li>
<li>cd ~ - volta para a raiz;</li>
<li>cd . - volta uma pasta acima;</li>
<li>cd nome-da-pasta - para entrar em uma pasta (você precisa conseguir enxergar ela quando listar os arquivos)
whoami - "quem sou eu?" identifica o usuário que está mexendo no sistema.</li>
</ul>

<h2>Instalando/verificando se o Git está conectado ao seu usuário</h2>

Nesse link ele mostra como instalar pra cada sistema operacional: Mac, Windows, Linux etc.
https://git-scm.com/book/pt-br/v1/Primeiros-passos-Instalando-Git
Configurando e removendo usuário:

<blockquote>git config --global user.name “Fulana Ciclana" 
git config --global user.email “fulana.ciclana@gmail.com”</blockquote>

Para remover o usuário

<blockquote>git config --global --unset-all user.name "Fulana Ciclana"
git config --global --unset-all user.email “fulana.ciclana@gmail.com”</blockquote>

<h2>Formas de trabalhar com o Git/GitHub</h2>

1. Iniciar um projeto novo na sua máquina e subir para o GitHub
2. Baixar um projeto que está hospedado no GitHub e trazer para a nossa máquina
 
<h2>Iniciar um projeto na sua máquina e subir pro GitHub</h2>

![Imagem com exemplos de utilização no terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/chy0pabqxvvqwf5dudw3.png)
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xjsqhqxd483kx9unphnx.png)
 
<ul>
<li>cd - Vai pra um diretório;</li>
<li>git init - Para o git começar a observar as modificações no repositório;</li>
<li>git status - Verificar o que foi modificado;</li>
<li>git add . (vai adicionar TODAS as alterações), caso queira apenas alguns arquivos, deve ser git add <nome-do-arquivo> e pode ser mais de um nome de arquivo;</li>
<li>git commit -m "<mensagem>" mensagem que enviaremos de modificações, remoções, adições etc;</li>
<li>git remote add origin "<url-do-repositório>", endereço para onde vai a atualização lá para o Github;</li>
<li>git remote -v, verificar se a url está correta;</li>
<li>git push origin master, enviar;</li>
</ul>

<h2>Baixar um projeto que está hospedado no GitHub para a nossa máquina</h2>

![image de como copiar URL do repositório no Github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7sbiker1bqy4vyocbk9r.png)
![passo a passo de baixar um projeto que está hospedado no GitHub para a nossa máquina](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kgjirmghil7gkl4z8wk2.png)

<ul>
<li>Copiar a URL do repositório criado no Github;</li>
<li>git clone, para clonar no local que você desejar. No exemplo 
 coloquei no Desktop com cd Desktop.</li>
</ul>

<b>Não esqueça de direcionar onde você quer clonar com o "cd" para não clonar em local errado e perder onde está o arquivo.</b>

Após esses passos é só repetir os passos que já comentei quando queremos iniciar um projeto na máquina e subir pro GitHub (git status, git add, commit, push etc...)

<b>Importante: Fazer um pull sempre antes do push para evitar conflitos e evitar apagar alguma informação remota.</b>


Bom pessoal, eu sei que o texto é grande e tem muitas informações. Por isso, farei outros textos de github pages e branch separadamente. 

Peguei referências desse repositório que me ajudou muito quando eu estava aprendendo : [Reprograma Github](https://github.com/reprograma/github)

Também indico o curso: [curso Git e Github]( https://www.udemy.com/course/git-e-github-ninja/)

Pratique bastante, esse é o segredo!

;*

![image de isso é tudo pessoal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v52xctagiz9iptyvxh7d.png)