|
| 1 | +# O que é git |
| 2 | +* Git é um sistema de versionamento (controle de versões) de arquivos de código aberto. |
| 3 | +* O git é usado principalmente no desenvolvimento web porém pode ser usado para o controle e registro do histórico de edições de qualaquer arquivo. |
| 4 | +* O git também ajuda a controlar o fluxo de modificações como novas funcionalidades, ajustes, solução de problemas e etc. |
| 5 | +* O git permite que vários desenvolvedores possam editar coisas no mesmo projeto, facilitando trabalhos em equipe. |
| 6 | +* O git permite que você tenha maior segurança de seus projetos, podendo voltar para outras versões caso encontre algum problema em uma modificação. |
| 7 | + |
| 8 | +### Como instalar o git |
| 9 | +* Caso seu sistema operacional seja o windows, basta instalar o executável neste <a href="https://git-scm.com/download/win">link</a>. |
| 10 | +* Caso seu sistema seja Unix/Linux, basta ver a instalação para sua distro clicando neste <a href="https://git-scm.com/download/linux">link</a>. |
| 11 | +* Caso seu sistema seja MacOs, você precisará do gerenciador de pacotes "brew", para instalar o brew basta clicar neste <a href="https://brew.sh/">link</a>. Após instalar o brew poderá instalar o git clicando neste <a href="https://git-scm.com/download/mac">link</a>. |
| 12 | +## Funcionamento do git |
| 13 | +* Para que seus projetos não fiquem de uma forma fixa em uma única linha cronológica e fique mais organizado, utilizamos as ramificações que podemos fazer a partir da linha principal para podermos mudar nosso código de uma forma que tenha uma organização e seleção melhor do que vamos enviar para a linha de produção. Esta linha cronológica é chamada de Branch, a linha principal é a chamada master e você pode utilizar o nome que quiser para organizar as novas linhas cronológicas. Para criarmos uma branch Updates por exemplo, utilizaríamos o comando: ```git branch Updates ``` |
| 14 | + Exemplo: |
| 15 | + ``` |
| 16 | + Updates |
| 17 | + / |
| 18 | + master |
| 19 | + ``` |
| 20 | + Aqui temos uma representação de duas Branch's, a principal (master) e uma secundária (Updates). |
| 21 | +<br> |
| 22 | +
|
| 23 | +* O que permite enviarmos as modificações para nossa Branch é chamado de commit, o commit é uma forma de publicar suas modificações e atualizações do projeto. Cada commit deve ter um comentário para manter a organização de suas modificações. |
| 24 | +Exemplo de como faríamos esses commits: |
| 25 | +
|
| 26 | + ``` |
| 27 | + git commit -m "A" |
| 28 | + git commit -m "B" |
| 29 | + git commit -m "C" |
| 30 | + git commit -m "D" |
| 31 | + git commit -m "E" |
| 32 | + git commit -m "F" |
| 33 | + git commit -m "G" |
| 34 | +
|
| 35 | + OBS: (Já mostraremos como enviaríamos os commits para a branch Updates e master, mas fique com o exemplo ilustrativo.) |
| 36 | + ``` |
| 37 | +
|
| 38 | + Exemplo de como ficaria: |
| 39 | +
|
| 40 | + A---B---C Updates |
| 41 | + / |
| 42 | + D---E---F---G master |
| 43 | +
|
| 44 | + Se você entendeu como é o funcionamento das Branch's e dos Commit's já viu o que fizemos. Neste caso adicionamos um commit para a Branch Updates e mais 2 commit's para a branch master. |
| 45 | +<br> |
| 46 | +
|
| 47 | +* O merge é a ação que vai juntar o seu commit de uma outra branch para sua Branch principal, seja a master ou qualquer outra que você criar. |
| 48 | +Exemplo: |
| 49 | + ``` |
| 50 | + A---B---C Updates |
| 51 | + / |
| 52 | + D---E---F---G master |
| 53 | + ``` |
| 54 | + Pegando este exemplo novamente, utilizariamos o merge na linha cronológica secundária(updates) para aplicar todas essas modificações para a linha cronológica principal (master). Utilizando o comando : ``` git merge Updates``` |
| 55 | + Exemplo do resultado: |
| 56 | + ``` |
| 57 | + A---B---C Updates |
| 58 | + / \ |
| 59 | + D---E---F---G---H master |
| 60 | + ``` |
| 61 | +<br> |
| 62 | +
|
| 63 | +* Para conectar o git ao Github (ferramenta que falaremos logo em seguida), precisamos de um remote. O remote permite que o repositório local na sua máquina possa ser publicado em alguma plataforma, no caso falaremos do GitHub. Normalmente usado com um link do seu repositório no Github. |
| 64 | +Exemplo: |
| 65 | + ``` git remote add origin https://github.com/Seu_Usuário/repositório.git ``` |
| 66 | +<br> |
| 67 | +
|
| 68 | +* Para você publicar de vez no seu GitHub pelo remote, utilizaremos o git push. O push vai enviar todas suas modificações (commits) para seu repositório externo (no caso o GitHub). |
| 69 | +Exemplo: |
| 70 | + ``` |
| 71 | + git push -u origin master |
| 72 | + ou |
| 73 | + git push Updates |
| 74 | + ``` |
| 75 | +* Para você verificar modificações do repositório externo e poder atualizar seu projeto, usaremos o git pull. O git pull verificará as mudanças no repositório externo e aplicará as mudanças em seu repositório local. Exemplo: ```git pull```. |
| 76 | +
|
| 77 | + Digamos que seu repositório externo esteja assim: |
| 78 | + ``` |
| 79 | + A---B---C Updates |
| 80 | + / \ |
| 81 | + D---E---F---G---H---I master |
| 82 | + ``` |
| 83 | +
|
| 84 | + E o seu repositório local esteja assim: |
| 85 | + ``` |
| 86 | + A---B---C Updates |
| 87 | + / \ |
| 88 | + D---E---F---G---H master |
| 89 | + ``` |
| 90 | + |
| 91 | + Após utilizar o ```git pull``` o seu repositório local ficaria assim: |
| 92 | + ``` |
| 93 | + A---B---C Updates |
| 94 | + / \ |
| 95 | + D---E---F---G---H---I master |
| 96 | + ``` |
| 97 | +---++ |
| 98 | +# O que é GitHub |
| 99 | +* O GitHub é um serviço que hospeda projetos pelo sistema de versionamento Git. |
| 100 | +* No GitHub, podemos hospedar nossos projetos de uma forma que outros desenvolvedores possam contribuir e permite que mais desenvolvedores colaborem e façam mudanças no mesmo projeto, mantendo a segurança com um registro de todo o progresso. |
| 101 | +* O GitHub pode ser utilizado como portfólio, a maioria das empresas vão querer o GitHub do desenvolvedor para olhar os projetos que ele desenvolveu, contribuiu, o que ele sabe fazer, qual a frequência de desenvolvimento e etc... |
| 102 | +
|
| 103 | +--- |
| 104 | +# Resumo |
| 105 | +* O Git é uma ferramenta que vai permitir diversos desenvolvedores trabalharem no mesmo projeto, mantendo uma segurança e controle de todas as versões. |
| 106 | +* O GitHub é uma plataforma que hospedará os projetos do git, de uma forma que diversos desenvolvedores possam publicar suas alterações e também permitindo que mais desenvolvedores contribuam com o projeto de uma maneira segura e com controle detalhado de cada alteração. |
| 107 | +
|
| 108 | +### Criando um repositório do zero e publicando no GitHub |
| 109 | +
|
| 110 | +* Primeiro criaremos uma pasta para servir de repositório local. |
| 111 | +* Agora vamos criar um repositório externo la no github. Basta acessar seu perfil e seguir os passos das imagens seguintes. |
| 112 | +
|
| 113 | + <img src="https://i.imgur.com/8x2GWNX.png"> |
| 114 | + <img src="https://i.imgur.com/BYeHVfh.png"><br> |
| 115 | + Se tudo der certo, deve carregar esta página: |
| 116 | + <img src="https://i.imgur.com/H4KHKVT.png">OBS: Preste atenção no nome que você colocar, pois quando usarmos o git remote, deve colocar o nome no lugar de onde coloquei test! |
| 117 | +
|
| 118 | +* Agora criaremos um arquivo README em nossa pasta local, que servirá para apresentar o seu projeto, como rodar, e etc... (Este artigo que você está lendo agora é um README). Podemos criar pelo próprio terminal com o comando: ```echo "# exemplo" >> README.md``` |
| 119 | +* Após criar o primeiro arquivo, iniciaremos o repositório, com o comando: ```git init ``` |
| 120 | +* Após iniciar o repositório poderemos adicionar o README ao repositório, com o comando: ```git add README.md ``` |
| 121 | +* Agora podemos fazer o commit de nossas mudanças com o comando: ```git commit -m "Nosso primeiro commit" ```. |
| 122 | +* Vamos adicionar agora uma branch nova para usar como Updates, assim como no nosso exemplo, com o comando: ```git branch Updates``` |
| 123 | +* Chegou a hora de fazer o remote para conectar ao GitHub, utilizando o comando: ```git remote add origin https://github.com/Seu_Usuário/test.git``` |
| 124 | +* Para publicaremos em nossa branch master, utilizaremos o comando: ```git push -u origin master``` |
| 125 | +* Agora para finalizar, faremos o push do último arquivo, então vamos criar com o comando ```echo "print('Olá mundo')" >> app.py``` adicionaremos ao repositório com: ```git add app.py```, faremos o commit com: ```git commit -m "add app.py"``` e publicaremos com o: ```git push -u origin Updates```. Por fim vamos aplicar as modificações da Branch Updates para master com o comando: ```git push``` |
0 commit comments