▶ Git
Local que iremos fazer o monitoramento do status do código e o rastreamento da versão do nosso programa
Link para instalação: https://git-scm.com/downloads
▶ Github
Local onde iremos armazenar o código que estamos trabalhando no Git.
![](https://static.wixstatic.com/media/09d18d_6c4da03d140644d6b9fb9d7beb4e8a91~mv2.png/v1/fill/w_334,h_361,al_c,q_85,enc_avif,quality_auto/09d18d_6c4da03d140644d6b9fb9d7beb4e8a91~mv2.png)
Link para criar uma conta: https://github.com/
Já com a sua conta ativada no github, clique no canto superior direito na sua foto e em repositórios, e em novo para criar um repositório público. É possível também criar repositórios privados e adicionar a conta de pessoas que poderão ter acesso ao seu repositório.
Repositório é um local para armazenar e organizar arquivos (códigos em python, javascript, imagens, etc) e histórico de versões de projetos digitais. Nas contas gratuitas do GitHub existe uma condição para o uso de repositórios privados, a quantidade de pessoas colaboradoras em cada projeto é limitada a três. Para a inclusão de mais pessoas em repositórios privados, é preciso utilizar um plano pago ou manter a visibilidade como pública.
Podemos ter dois tipos:
Repositório Local (seu computador)
Repositório Remoto (github)
Utilizando o Git
Como exemplo, crie uma pasta em sua área de trabalho (Utilize nomes sem acentos, sem espaço, separado por _ ou letra maíuscula e minúscula: ExemploGit, _ExemploPasta).
Após criar a pasta no windows, clique com o botão direito na pasta e procure por: Git Bash Here.
Note que só irá aparecer se realmente você tiver concluído a instalação do Git.
![](https://static.wixstatic.com/media/09d18d_4309b9a80f894904a994333d948b9f73~mv2.png/v1/fill/w_346,h_409,al_c,q_85,enc_avif,quality_auto/09d18d_4309b9a80f894904a994333d948b9f73~mv2.png)
É importante ressaltar que devemos executar "Git Bash Here" na pasta nova que criamos e que iremos colocar nosso arquivo .py para subir para o GitHub.
No meu caso, criei uma pasta chamada jogosPython e coloquei o arquivo chamado cobrinha.py e abri o Git Bash Here.
Em resumo, Git é o software onde iremos realizar o monitoramento e enviar comandos para subir nosso código ao github que é um "servidor", site, lugar onde iremos armazenar nossos códigos.
Comandos no Git após os procedimentos acima considerando que o acesso entre o computador x conta github estão ok, com as permissões devidas (caso não esteja, mais para baixo existe a opção de credencial ou windows ou SSH:
🟠 git init
![](https://static.wixstatic.com/media/09d18d_d6e70ee82ae0477f81a508ba35c13ee7~mv2.png/v1/fill/w_980,h_280,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/09d18d_d6e70ee82ae0477f81a508ba35c13ee7~mv2.png)
🟠 git status
Note que o nome do arquivo apareceu em vermelho.
![](https://static.wixstatic.com/media/09d18d_73356400543e4012b737d243b597f717~mv2.png/v1/fill/w_844,h_231,al_c,q_85,enc_avif,quality_auto/09d18d_73356400543e4012b737d243b597f717~mv2.png)
🟠 git add .
O ponto significa tudo. Caso precise de apenas um arquivo, coloque: git add nomearquivo.extensãoarquivo
![](https://static.wixstatic.com/media/09d18d_a65f892a32eb455bb0bb785fc32ec5d0~mv2.png/v1/fill/w_777,h_50,al_c,q_85,enc_avif,quality_auto/09d18d_a65f892a32eb455bb0bb785fc32ec5d0~mv2.png)
🟠 git status
Note que após adicionarmos o arquivo, ficou verde
![](https://static.wixstatic.com/media/09d18d_5752babcfcff4320a345ad93ceed0385~mv2.png/v1/fill/w_778,h_189,al_c,q_85,enc_avif,quality_auto/09d18d_5752babcfcff4320a345ad93ceed0385~mv2.png)
🟠 git commit -m "Jogos commit"
Note que -m representa mensagem.
![](https://static.wixstatic.com/media/09d18d_6756b8af959b4db88d0ad320dfc9c2d3~mv2.png/v1/fill/w_776,h_111,al_c,q_85,enc_avif,quality_auto/09d18d_6756b8af959b4db88d0ad320dfc9c2d3~mv2.png)
🟠 git config --global user.email "digite aqui o e-mail cadastrado na sua conta do github"
🟠 git config --global user.name "seu usuário github"
![](https://static.wixstatic.com/media/09d18d_a0cbb4b324b54be3b0d6cc98ac18d4cf~mv2.png/v1/fill/w_779,h_106,al_c,q_85,enc_avif,quality_auto/09d18d_a0cbb4b324b54be3b0d6cc98ac18d4cf~mv2.png)
🟠 git remote add origin (cole o link do seu repositório).git
![](https://static.wixstatic.com/media/09d18d_2af32d97af48459982774ceaab72fba6~mv2.png/v1/fill/w_844,h_55,al_c,q_85,enc_avif,quality_auto/09d18d_2af32d97af48459982774ceaab72fba6~mv2.png)
🟠 git push
O comando git push deve ser executado para sincronizar as mudanças do repositório local com o repositório remoto, ou seja, quando desejamos enviar os novos commits que realizamos em nosso repositório local para o repositório remoto. No entanto, para garantir uma conexão segura, é essencial configurar uma chave SSH no computador antes de executar esse comando.
![](https://static.wixstatic.com/media/09d18d_3038862447904853b2f06fb329262620~mv2.png/v1/fill/w_779,h_197,al_c,q_85,enc_avif,quality_auto/09d18d_3038862447904853b2f06fb329262620~mv2.png)
🟠 git push --set-upstream origin master
![](https://static.wixstatic.com/media/09d18d_8379558a6736449eb67c5c8dc1a9664f~mv2.png/v1/fill/w_775,h_226,al_c,q_85,enc_avif,quality_auto/09d18d_8379558a6736449eb67c5c8dc1a9664f~mv2.png)
Após os comandos acima, o arquivo cobrinha.py foi carregado:
![](https://static.wixstatic.com/media/09d18d_9b81d6f5c07f4d7b9d6e30a6e0d936cf~mv2.png/v1/fill/w_980,h_252,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/09d18d_9b81d6f5c07f4d7b9d6e30a6e0d936cf~mv2.png)
Caso tenha dado erro um dos possíveis problemas poderá ser de versão ou até mesmo de configuração de Proxy. Se estiver em um ambiente organizacional, poderá existir algum bloqueio quanto a isso.
. Versão
digite o comando para identificar a versão e procure saber se na data atual, existe alguma versão mais recente e se sim, atualize.
git version
![](https://static.wixstatic.com/media/09d18d_9cd25909b23646d2b5a62ea89abf8dcb~mv2.png/v1/fill/w_211,h_33,al_c,q_85,enc_avif,quality_auto/09d18d_9cd25909b23646d2b5a62ea89abf8dcb~mv2.png)
. Proxy
git config --global http.proxy http://seuproxy.com:porta
git config --global https.proxy https://seuproxy.com:porta
Download de pastas (repositórios) Github
Para baixar a pasta (repositório público), clique com o botão direito em qualquer pasta do seu computador, Git Bash ou abra o terminal do vscode e digite o comando:
🟤 git clone + endereço do repositório
![](https://static.wixstatic.com/media/09d18d_2c8c3223c8f34999a8211f109a279a54~mv2.png/v1/fill/w_705,h_246,al_c,q_85,enc_avif,quality_auto/09d18d_2c8c3223c8f34999a8211f109a279a54~mv2.png)
git clone git@github.com:amandarnascimento/diversosPython
![](https://static.wixstatic.com/media/09d18d_30577b05b66743b291a2f614271a54db~mv2.png/v1/fill/w_524,h_122,al_c,q_85,enc_avif,quality_auto/09d18d_30577b05b66743b291a2f614271a54db~mv2.png)
Navegue ate a pasta onde o repositório baixado foi salvo
ls para ver arquivos
pwd para identificar o local em que foi baixado
cd diversosPython
Acrescentar/commit em um repositório
Acrescentar arquivo em um repositório...
Se você já tiver a pasta do repositório no seu pc, abra a pasta no vs code, se não tiver, faça o procedimento acima utilizando o git clone.
Abra a pasta no vscode, abra o arquivo que você deseja subir para o github, abra o terminal do vs code
🟤 git add . (adicionando todos os arquivos da pasta. o ponto significa tudo)
🟤 git commit -m '1º Exercício em sala de aula, verificação de senha' (recomendo para cada vez que subir o código fazer um comentário informando o que foi alterado no código)
![](https://static.wixstatic.com/media/09d18d_0f1f4fc09d8d4517a929dcdf5222b696~mv2.png/v1/fill/w_980,h_48,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/09d18d_0f1f4fc09d8d4517a929dcdf5222b696~mv2.png)
🟤 git push origin master (se o master nao der, tenta com o main (mais novos)
![](https://static.wixstatic.com/media/09d18d_8aa1868242984b60b14dbbf7f9c19ec2~mv2.png/v1/fill/w_887,h_220,al_c,q_85,enc_avif,quality_auto/09d18d_8aa1868242984b60b14dbbf7f9c19ec2~mv2.png)
No site do github veja que o arquivo subiu para o repositório
![](https://static.wixstatic.com/media/09d18d_2f092ac0726e4edaa91cfbdb894cb172~mv2.png/v1/fill/w_980,h_134,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/09d18d_2f092ac0726e4edaa91cfbdb894cb172~mv2.png)
Identificar histórico de commits
🔘 git log --oneline --graph --all
Identificar usuário logado git bash
Em computadores compartilhados, pode ser que já exista um usuário logado no Git e a pessoa esqueceu de deslogar.
🔵 git remote -v
Para ver o usuário
![](https://static.wixstatic.com/media/09d18d_252619f8396b4968899232ac1c27f8b1~mv2.png/v1/fill/w_776,h_91,al_c,q_85,enc_avif,quality_auto/09d18d_252619f8396b4968899232ac1c27f8b1~mv2.png)
Deslogar git
(faça isso apenas se não estiver usando sua máquina pessoal)
🔵 git remote remove origin
🔵 git config --global --unset-all
🔵 git remote add
🔵 git remote add origin https://coleaqui o endereço
No painel de controle para DESLOGAR DE UMA CONTA:
>git credential-cache exit
>eval "$(ssh-agent -s)"
>ssh-agent -k
Inserir credencial github no windows
Suporte com mais detalhes:
No painel de controle do windows:
Gerenciador de Credenciais e Credenciais do Windows
![](https://static.wixstatic.com/media/09d18d_a9765d0e2473449fb35beb891d590aea~mv2.png/v1/fill/w_980,h_347,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/09d18d_a9765d0e2473449fb35beb891d590aea~mv2.png)
...e se não for o seu usuário logado, precisa deslogar, remover credenciais do github
![](https://static.wixstatic.com/media/09d18d_eb33dfdd795e44b9956c138fbccb7fe9~mv2.png/v1/fill/w_839,h_205,al_c,q_85,enc_avif,quality_auto/09d18d_eb33dfdd795e44b9956c138fbccb7fe9~mv2.png)
Criar chave SSH windows
Ao vincular um repositório remoto ao nosso repositório local, precisamos utilizar algum protocolo seguro, como HTTPS ou SSH. No caso de se utilizar o protocolo SSH devemos gerar uma chave SSH em nosso computador, além de cadastrá-la em nossa conta do GitHub. Isso é necessário para garantir a autenticação, pois o GitHub checa se quem está realizando o push dos commits tem permissão para realizar tal ação.
A chave SSH no GitHub é um método de autenticação seguro que permite que você interaja com seus repositórios no GitHub sem precisar inserir seu nome de usuário e senha toda vez. Em vez disso, uma chave criptográfica é usada para estabelecer uma conexão segura.
Primeiro passo é ir na pasta do seu usuário e procurar pela pasta oculta .ssh, se esta fazendo isso pela primeira vez, o arquivo não estará lá e precisaremos criar.
Abra o git bash ou o terminal do vscode e digite:
ssh-keygen -t ed25519 -C "seuemail@email.com"
![](https://static.wixstatic.com/media/09d18d_53ce657885c84a6186dd44d57535e108~mv2.png/v1/fill/w_339,h_43,al_c,q_85,enc_avif,quality_auto/09d18d_53ce657885c84a6186dd44d57535e108~mv2.png)
Após inserir o e-mail, pressione enter para confirmar a chave criada no diretório informado (é possível alterá-lo), enter + 2x
![](https://static.wixstatic.com/media/09d18d_3567b9d7b22d4b2280e1cd5548d66794~mv2.png/v1/fill/w_519,h_298,al_c,q_85,enc_avif,quality_auto/09d18d_3567b9d7b22d4b2280e1cd5548d66794~mv2.png)
Copie a sua chave pública e no github, logado, vá em configurações, chaves SSH e GPC, Nova chave SSH
![](https://static.wixstatic.com/media/09d18d_82e700d07edd4665bf49322c60296586~mv2.png/v1/fill/w_689,h_582,al_c,q_90,enc_avif,quality_auto/09d18d_82e700d07edd4665bf49322c60296586~mv2.png)
Inserir mais de uma conta no git
Você deverá configurar cada repositório com usuário/email específico:
git config user.name "seu nome"
git config user.email "seu email"
Repare que os comandos foram sem o parâmetro --global, pois essa configuração deve ser aplicada apenas para o repositório em específico. A parte chata é que você terá que lembrar de executar esse comando para cada novo repositório que for configurar no computador.
Listar conteúdo(arquivos) de uma pasta
⚪ ls
Listar todo o conteúdo da pasta
![](https://static.wixstatic.com/media/09d18d_30d6e17d90e247619d286f19ce66a4fa~mv2.png/v1/fill/w_779,h_67,al_c,q_85,enc_avif,quality_auto/09d18d_30d6e17d90e247619d286f19ce66a4fa~mv2.png)
![](https://static.wixstatic.com/media/09d18d_800f470a65fd4dbbae552820cebe19cc~mv2.png/v1/fill/w_793,h_169,al_c,q_85,enc_avif,quality_auto/09d18d_800f470a65fd4dbbae552820cebe19cc~mv2.png)
⚪ ls -la
Listar todos os arquivos
Identificar histórico de alterações
⚪ git reflog
Quando o código for alterado, podemos ver o histórico
![](https://static.wixstatic.com/media/09d18d_6ac0840b3da042538bba6b2cf1e816b7~mv2.png/v1/fill/w_827,h_98,al_c,q_85,enc_avif,quality_auto/09d18d_6ac0840b3da042538bba6b2cf1e816b7~mv2.png)
Pegue o código do commit e utilize no comando
⚪ git reset --hard codigo
Branch
![](https://static.wixstatic.com/media/09d18d_dc840ea645c94439930f09771688c3de~mv2.png/v1/fill/w_557,h_574,al_c,q_85,enc_avif,quality_auto/09d18d_dc840ea645c94439930f09771688c3de~mv2.png)
git branch
para verificar quais estão disponíveis
git branch NomeBranch
para realizar a criação de uma nova Branch
git checkout NomeBrach
para trabalhar na nova branch
Modifique o seu código e faça umc ommit e push
Durante o push rode o comando sugerido pelo git git push --set-upstream origin
Para enviar o código para o projeto principal:
* Entre na branch principal e faça um git pull para puxar as atualizações atuais
* Utilize o comando git merge NomeBranch git push
⚫ git branch -r
Listar branchs
Conceitos de comandos git
git init: Inicia um novo repositório Git na pasta atual. Ele cria um diretório oculto chamado ".git" que contém toda a estrutura necessária para controlar as versões dos arquivos.
Ou seja, git init converte um diretório existente no computador, que geralmente é o diretório de algum projeto, em um repositório Git.
Se um diretório já for um repositório Git, não faz sentido rodar novamente o comando git init. Esse é um erro bastante comum de ser cometido.
Na dúvida, antes de executar o comando git init, execute primeiramente o comando git status. Se aparecer a mensagem fatal: not a git repository (or any of the parent directories): .git, isso significa que o diretório atual não é um repositório Git e você pode então executar o comando git init.
git status: Exibe o estado atual do repositório, mostrando quais arquivos foram modificados, adicionados ou excluídos desde o último commit. Ele também mostra quais arquivos estão no staging area (prontos para serem commitados) e quais não estão sendo rastreados.
git add .: Adiciona todas as alterações nos arquivos (não incluindo os que estão sendo ignorados) ao staging area. Isso prepara os arquivos para serem incluídos no próximo commit.
git commit -m 'texto': Realiza um commit (ou seja, uma gravação permanente) das alterações que estão no staging area. A opção -m permite adicionar uma mensagem descritiva ao commit para explicar as mudanças feitas.
git remote add origin link-repo: Adiciona um repositório remoto com o nome "origin" e o link para o repositório. É usado para conectar o repositório local a um repositório remoto.
git push: Envia as alterações locais (commits) para o repositório remoto associado ao branch atual. Isso sincroniza o repositório local com o remoto.
git reflog: Mostra o histórico de referências do Git, incluindo informações sobre commits e alterações de branches, mesmo se alguns commits estiverem fora do branch atual.
git reset --hard codigo: Reseta o repositório para um estado específico, desfazendo commits e alterações no working directory. O "código" pode ser o hash do commit ou um nome de branch.
git branch: Lista todos os branches presentes no repositório e destaca o branch atual com um asterisco.
git branch NomeBranch: Cria um novo branch com o nome "NomeBranch" a partir do commit atual.
git checkout NomeBranch: Altera o branch atual para o "NomeBranch", permitindo que você trabalhe nos arquivos desse branch.
git pull: Recupera e incorpora as alterações do repositório remoto para o branch atual do repositório local.
git merge NomeBranch: Combina o branch "NomeBranch" com o branch atual. Isso incorpora as alterações do branch especificado no branch atual.
Hospedagem de site utilizando GitHub
Para hospedar seu site utilizando o GitHub gratuito, clique aqui
Hospedar um site significa torná-lo acessível na internet. Quando você hospeda um site, você o coloca em um servidor web que está conectado à internet, permitindo que outras pessoas acessem e visualizem o conteúdo do seu site. Isso geralmente envolve o armazenamento dos arquivos do site, como HTML e CSS.
Veja como exemplo este projeto Decodificador de texto que ficou show de bola!
Projeto no GitHub Pages: https://gabrielsoares2.github.io/Decodificador-de-texto/
Padrões de commits
Padrões de commits:
Configurando variáveis de ambiente do windows
Acabou de instalar o git e abriu um novo terminal do vscode, digitou git init mas esta aparecendo uma mensagem em vermelho: "git : O termo 'git' não é reconhecido com nome de cmdlet..."
![](https://static.wixstatic.com/media/09d18d_427c9475aaf54a6790f079c6c9a11687~mv2.png/v1/fill/w_702,h_482,al_c,q_85,enc_avif,quality_auto/09d18d_427c9475aaf54a6790f079c6c9a11687~mv2.png)
![](https://static.wixstatic.com/media/09d18d_b8467cad77aa4eb3ad4a5434181a28bd~mv2.png/v1/fill/w_606,h_509,al_c,q_85,enc_avif,quality_auto/09d18d_b8467cad77aa4eb3ad4a5434181a28bd~mv2.png)