#1 Entendendo as diferenças
Git: Ferramenta de versionamento de código.
GitHub: empresa privada onde podem ser hospedados repositórios
#2 Criando um novo repositório e trabalhando SOLO
Entre na página do seu perfil e clique em New
![localização do local do botão novo repositório](src/newRepository.jpg)
#3 Preencha os dados do seu repositório
![](src/newRepositoryBlock.jpg)
- Permite que você adicione um arquivo README.md no seu repositório. Esse arquivo é utilizado como capa para seu repositório no GitHub. Crie sempre com README pois, além de ser prático poder editar o README antes mesmo de começar a escrever seu programa, ele inadvertidamente facilita os próximos passos.
- Permite que você adicione um arquivo .gitignore no seu repositório. Esse é um arquivo de texto no qual você pode escrever nomes de arquivos e diretórios que serão ignorados pelo gerenciamento do Git.
- Permite que você escolha uma licença pela qual publicar seu código. Licenças podem ser livres ou proprietárias. Não é interessante no momento.
#4 Clone o repositório
![](src/cloningRepository.jpg)
- Marque aqui para utilizar sua SSH
- Copie o código informado
- Utilize o comando git clone -link- para clonar o repositório remoto para sua máquina
Por que fazer dessa maneira: utilizando o comando clone ao invés de dar git init e vincular o repositório remoto com git remote você tem uma margem de erro muito menor.
Parabéns, seu repositório do GitHub está vinculado a sua pasta local!
Caso tenha problemas com autenticação verifique seu cadastro da SSH seguindo o tutorial no final da página#5 Adicionando itens pra Staging Area do Git
Ao fazer qualquer alteração na pasta local, utilize o comando git status para confirmar que o Git detectou a mudança.
![](src/gitStatus.jpg)
Utilize o comando git add -nomeDoArquivo- para adicionar o arquivo a Staging Area do Git
A Staging Area do git é o local no qual alterações são preparadas para o commit. É possível utilizar git add . para adicionar todos os arquivos no diretório que não estejam sendo ignorados pelo .gitignore![](src/git added.jpg)
#6 Realizando o Commit
Utilize o comando git commit -m "mensagem" para realizar o commit do seu repositório naquele determinado momento
O commit nada mais é do que uma "foto" tirada pelo Git para qual você pode retornar a qualquer momento - um ponto de restauração de sistema, digamos assim![](src/gitCommited.jpg)
#7 Realizando o Push
Primeiro de tudo, assegure-se de qual o nome da sua branch principal. Alguns sistemas utilizam a branch "Master" e alguns utilizam a branch "Main". Ela será a branch principal do seu repositório, criada no momento que você criou o próprio repositório.
![](src/whichBranch.jpg)
Imagem: se você seguiu o tutorial a risca, a seta aponta para o nome da sua branch main. Para garantir que sua branch principal ao criar um novo repositório seja sempre main, utilize o comando git config --global init.defaultBranch main no terminal.
![](src/gitpushed.jpg)
Utilize o comando git push origin -nomeDaSuaBranch- para enviar para o GitHub os dados da sua pasta local.
Pronto! Seus dados serão enviados para o GitHub e podem ser verificados diretamente no link do seu repositório.
#8 Criando Branches para adicionar funcionalidade
Utilizando o Git é possível criar diferentes ramificações do seu código, tornando assim o processo de adicionar novas funcionalidades mais fácil porque você não compromete a versão já em funcionamento pra eventuais bugs. Veja como a seguir.
Crie uma nova branch
Para criar uma nova branch (ramificação) do seu código você deve usar o comando git checkout -b -nomeDaNovaBranch-. Utilizando o -b você ganha tempo porque você estará ao mesmo tempo criando e entrando na nova branch (diminuindo a margem para erro).
![](src/addbranchsupport.jpg)
#9 Faça o commit normalmente e o push dessa vez para a nova branch:
![](src/addbranchpush.jpg)
#10 Verifique as mudanças no GitHub
![](src/gitHubBranch.jpg)
(1): Notificação que ocorreu um push recentemente em uma Branch
(2): Seletor de branch, onde você pode navegar livremente entre uma
branch e outra
(3): Contador de branches, que mostra quantas branches existem
daquele código naquele momento
(4): Botão de Pull Request, onde você pode realizar o merge
(literalmente a fusão) de dois branches quaisqueres.
#11 Realize o Merge da branch de nova função com a Main
Sua nova função está pronta, livre de bugs e otimizada? Realize o Merge para que ela se integre com a Main clicando no botão Compare & pull request
![](src/branchPullRequest.jpg)
(1): Branch base - a que receberá o conteúdo. Para projetos
individuais será a main na maioria das vezes
(2): A branch de comparação - a que adicionará o seu conteúdo a
branch base. Para projetos individuais será a branch com a nova
função ou correção de bug, etc
(3): Verificador de merge automático. Dirá "Able to merge" em cor
verde se não houverem conflitos de fonte entre as branches
(4): Botão de criar pull request. Ao clicar nesse botão é solicitada
a fusão entre as duas branches.
#12 Confirmando o pull Request
Clicando no botão de criar pull request podemos solicitar a avaliação de merge
![](src/mergepullrequest.jpg)
Não tem segredo aqui. Se não há conflito entre as branches (e provavelmente não haverá se você está desenvolvendo por conta própria) é só clicar em Merge pull request e em confirm merge e as branchers serão fundidas.
Parabéns, você adicionou uma nova funcionalidade na sua página!
Será adicionado mais conteúdo aqui ao longo do curso de acordo com a necessidade das aulas.
Não tem ainda o cadastro da sua SSH no GitHub?
- Primeiro de tudo vamos criar a chave. Utilize o comando ssh-keygen -t rsa -b 4096 -C "seuemail@gmail.com" e vá confirmando as opções com Enter até a chave ser gerada.
- Depois de criado, vamos pegar a chave para inserir no Github. Utilize o comando cat ~/.ssh/id_rsa.pub no terminal para conseguir o código.
- Copie tudo que aparecer entre SSH e o fim do seu e-mail e adicione nas configurações da sua conta. Se já estiver logado no GitHub, clique aqui.