Manual de Sobrevivência do GitHUB
Antes de mais nada: GIT e GITHUB são coisas diferentes!
GIT: Serviço de controle de versões (com comandos específicos seja por linha de comando ou por interface gráfica).
GITHUB: Repositório de códigos público disponível na nuvem que usa GIT como seu serviço de controle de versões. Existem outros que também usam GIT, tais como Bitbucket, GitLab, entre outros.
Pois bem, de posse disto, bora lá categorizar alguns comandos que você vai utilizar pouco e outros que você vai utilizar muito.
Ah, a vídeo aula está aqui 😀
Primeira coisa: você precisa de uma conta no Github
Isso é relativamente simples, basta ir no site do Github e completar o formulário.
Fazendo o Download das ferramentas do GIT
Simples também: Tá aqui o LINK.
1. Comandos de SETUP do Usuário e Máquina
Para auxiliar sua operação do dia-a-dia, você precisará “identificar” sua máquina junto ao Github e ter uma chave RSA para que isso seja efetivo. Isso você deverá fazer apenas uma vez e só terá que fazer novamente se mudar de máquina.
Configurando seus dados locais
Definindo seu nome de usuário
git config --global user.name "Seu nome cadastrado no Github" git config --global user.email "Seu email do Github"
Criando sua chave
Usando um client SSH (se você tem Windows, um programa bem legal pra fazer isso é o PUTTY).
ssh-keygen -t rsa -b 4096 -C "seu email do github"
Neste caso, criamos uma chave RSA com 4096 bits a partir do email do github fornecido.
Inserindo sua chave nas suas configurações do GitHUB
Uma vez isso feito, haverá uma pasta (na sua área de usuário) chamada .ssh. Lá dentro, há um arquivo id_rsa.pub. É neste arquivo que terá sua chave. Ela inicia com “rsa-ssh” e termina com o email que você cadastrou. Copie esse conteúdo.
Agora, vá na sua conta do Github, no link “settings” (como na imagem abaixo)
Em seguida, vá no link “SSH and GPG Keys” assim como na figura
Se você já tiver alguma chave cadastrada, ok, entretanto é necessário criar uma nova chave.
Lá dentro, apenas dê um nome a ela (eu costumo identificar as minhas máquinas) e depois cole o conteúdo que você copiou lá do id_rsa.pub no campo KEY.
Beleza! Se estiver tudo ok, você só vai precisar testar da seguinte maneira:
ssh -T git@github.com
Se tudo ocorrer bem, você receberá uma mensagem assim:
Hi professorisidro! You've successfully authenticated, but GitHub does not provide shell access.
2. Comandos de SETUP do seu Repositório (você só fará isso quando criar seu projeto)
De todo jeito você deverá criar seu repositório lá no GITHUB.
Basicamente o link é este aqui e vai carregar esta tela aqui:
Uma vez isso feito, você vai precisar do caminho dele, para que você consiga SINCRONIZAR a pasta da sua máquina com o repositório. Veja a imagem abaixo como obter esse link
Isso é super importante: todo repositório remoto tem que estar vinculado a uma pasta local da sua máquina, pois a partir dela estará toda a hierarquia de pastas e arquivos do seu projeto. Portanto, tenha sempre sua área específica para os seus projetos do Github (eu sugiro uma pasta chamada projetos ou github).
Vinculando sua pasta local ao repositório
Alternativa 1: Clonando o link do seu repositório à sua pasta local
git clone "URL obtida no github"
Isso irá criar uma pasta na sua máquina de mesmo nome do repositório do Github (isso é bacana pq facilita muito) e, a partir daí você já poderá trabalhar. Além disso, há uma pasta .git, dentro da sua pasta, responsável por armazenar todas as informações do seu projeto.
Alternativa 2: Criando sua pasta local e associando-a ao repositório
Após criar a sua pasta (com o nome que você quiser), você precisa dos seguintes comandos:
git init git remote add origin "URL obtida no github"
Observação: Se você criou seu projeto no GITHUB e ele já está com um README na sua estrutura, é necessário, antes de mais nada, você obter na sua máquina local, tudo o que tiver no seu repositório (antes de colocar seus próprios arquivos). Faça um PULL do seu repositório na sua máquina (veremos esse comando mais a frente)
git pull origin master
Pronto, já está associada a pasta local ao repositório remoto. Agora bora para as atividades do dia-a-dia.
3. Comandos do seu dia-a-dia
Vamos entender o que significa cada comando e, a partir daí, traçar um pequeno guia de “boas práticas” de versionamento.
git status
Verifica quais são os arquivos que foram adicionados ao projeto, quem está atualizado, quem está efetivado.
git add "arquivo"/"diretório"
Insere os arquivos ou diretórios (pode ser o diretório atual, representado pelo ponto .) para serem rastreados pelo controle de versão. Sempre que você alterar ou inserir um novo arquivo, adicione-o ao seu controle de versões.
git pull origin "nome da branch"
Obtém do repositório a última atualização da ramificação do projeto. Em geral o nome padrão da Branch é master. E uma “Branch” é uma nova ramificação da estrutura do projeto. Usar Branches é muito útil para você preservar versões estáveis do seu software. Ex: em um projeto, a branch master é sempre aquela versão mais atual do sistema (a de produção), entretanto a equipe de desenvolvimento pode (e deve) trabalhar em inclusões de novos módulos do sistema em uma branch separada para não “contaminar” uma versão estável.
git commit -m "Mensagem do Commit"
Efetiva as alterações locais feitas no seu repositório como sendo “ultima versão”. Cuidado: em GIT, o Commit efetiva a versão local como definitiva. Ainda falta fazer o upload para o repositório.
git push origin "nome da branch"
Efetiva o Upload das suas alterações para o Repositório remoto. Lembre-se que só sofrerão upload os arquivos que forem efetivados (“commitados”).
4. “Boas Práticas” para seu dia-a-dia
Apenas para que você tenha uma facilidade de operação e também garantir um pequeno procedimento, vamos lá com a “receita de bolo” para você atualizar seu repositório.
Lembre-se: cada commit é uma efetivação de elementos relevantes, ou seja, mudanças que podem afetar seu software de forma efetiva.
-
git pull origin master // obtenho as útlimas alterações feitas pelos outros
-
git add . // adiciono meus novos arquivos
-
git commit -m "mensagem" // efetivo as alterações
-
git push origin master // faço o upload para o repositório
Claro que, sempre entre um comando e outro, vale um git status para acompanhar o que acontece.
E aí? Curtiu? Se você achar que isso é útil para seu dia-a-dia, compartilhe com os amigos e #vamosprogramar