Github descomplicado
Entendendo os conceitos básicos
A princípio, utilizar o Github pode parecer difícil. Commits, branches e outros termos desse sistema podem confundir a usuária e, muitas vezes, desestimulá-la a usar o que pode ser extremamente útil e necessário. Além disso, muitas empresas costumam pedir o link do Github da candidata em seu recrutamento.
Por isso, vamos começar a entendê-lo do zero, descobrindo primeiro o que ele é e para que exatamente serve.
Antes de mais nada é preciso esclarecer que: Git e Github são coisas distintas!
Para começar a fazer uso dessas ferramentas é preciso realizar duas tarefas previamente:
1- O cadastro na plataforma do Github
Feito isso, partiremos para alguns conceitos-chave para começarmos a trabalhar com o Github.
Como funciona o fluxo de trabalho
Seus repositórios locais consistem em três “árvores” mantidas pelo Git.
A primeira delas é sua Working Directory, que contém os arquivos vigentes
A segunda é o Index, que funciona como uma área temporária.
A terceira é a Head, que aponta para o último commit (confirmação) que você fez.
Como criar um repositório pelo Github
O primeiro passo para criar um novo repositório é estar logada na página do Github. Então, após clicar na imagem do perfil, é preciso clicar em Your repositories, e depois em New (botão verde no canto superior direito).
Feito isso, você automaticamente será direcionada para a página de criação do repositório.
Nessa etapa, a usuária determina quem é a administradora do repositório e escolhe qual nome ele terá. Além disso, é possível decidir se quer que o repositório seja público ou privado (decidir quem pode visualizar e commitar no repositório).
Se você habilitar a opção “Initialize this repository with a README”, o repositório será clonado no computador da usuária já com um arquivo de texto.
Tela principal do repositório
Essa é a tela principal do repositório criado, por onde todo controle é feito.
Aqui é possível notar alguns termos que podem ser desconhecidos para novas usuárias. Vamos compreendê-los a seguir:
Issues
São parecidos com um e-mail, exceto pelo fato de que podem ser compartilhados e discutidos com toda a equipe. As issues são usadas para reportar bugs, problemas e possíveis soluções. Um exemplo prático:
Pull Request
Imagine a seguinte situação: várias pessoas estão trabalhando num mesmo projeto, editando e melhorando o mesmo código. Se todas fizerem modificações e enviarem simultaneamente para o repositório, pode ficar complicado, não é mesmo? Para resolver essa situação existe o Pull Request.
Quando você o utiliza, está dizendo: aqui está o trabalho que fiz, preciso integrá-lo ao ramo principal. Ao utilizar o Pull Request, gera-se um registro no servidor que destaca as diferenças de código entre o ramo (branch- falaremos sobre isso em breve) no qual você trabalhou e o ramo alvo da entrega. Assim fica fácil para outros desenvolvedores revisarem o seu trabalho. Com ele é possível também discorrer discussões em trechos específicos e propor alterações.
Commit
No Git, tudo é movido através de pontos na história do projeto. A esses pontos, damos o nome de commits. Esses são basicamente formados por conjuntos de alterações em um ou mais arquivos, com uma descrição que resume as alterações feitas nesse ponto.
Branch
Imagine a seguinte situação: seu site está pronto, mas surge a necessidade de alterar algumas partes dele para melhorá-lo. Além disso, você quer manter essas alterações tanto no seu computador de casa, quanto no computador do trabalho. Se você começa a alterar os arquivos em casa, pára na metade da implementação e precisa terminar no trabalho, como você iria commitar tudo pela metade? Seu site ficaria incompleto.
Para isso existe o conceito de branch, que é justamente ramificar o seu projeto em dois, como se cada um deles fosse um repositório, e depois juntá-lo novamente utilizando o Merge.
Merge
Podemos resumir merge como a união de duas branches. O merge basicamente cria um novo commit na branch em que foi realizado. Esse commit puxa consigo a última referência da branch a partir da qual o merge é realizado. Esse commit “especial” é chamado de merge commit.
Fork
Um fork é uma cópia de um repositório. Forkar um repositório permite experimentar mudanças livremente sem afetar o projeto original.
Geralmente, forks são utilizados para propor mudanças no projeto de alguém ou para utilizá-lo como ponto de início de sua própria ideia.
Um grande exemplo usando fork é corrigindo bugs no código de outra pessoa. Ao invés de registrar o problema ou bug encontrado, você pode forkar o repositório, fazer as correções necessárias e enviar um Pull Request para o administrador do projeto.
Se o administrador do projeto gostar do seu trabalho ele pode puxar sua correção para o repositório original.
Star
Você pode marcar repositórios e tópicos com estrelas e assim acompanhar os projetos que você acha interessante ou quiser acompanhar o conteúdo relacionado no seu feed de notícias.
Marcar os tópicos com estrelas faz com que seja fácil achar novamente o repositório ou tópico que desejar mais tarde. Você pode ver todos os repositórios e tópicos que você marcou indo em Stars Page. Para obter mais informações sobre como interagir com os repositórios e tópicos que você marcou, consulte “Gerenciando suas estrelas”.
Você também pode marcar os repositórios e tópicos para descobrir projetos similares no Github. Quando você marcar um repositório ou tópico, o Github pode recomendar conteúdo relacionado no Discovery News do seu feed de notícias.
Considerações Finais
Como pudemos observar, o Github é extremamente versátil e possui diversas ferramentas que facilitam a vida da programadora. Através dele, podemos ter controle total de nossos repositórios e organizar projetos com diversos usuários.
Para entender exatamente como realizar os procedimentos de criação de repositório e realizar outras tarefas utilizando apenas o Git, recomendo o seguinte material para leitura: Git- Guia Prático.
Nele, todos os comandos estão descritos de forma extremamente didática. É só seguir o passo-a-passo, conforme descrito no guia.
Bons estudos!

