
Esta é uma aula introdutória para basear os conhecimentos básicos e trazer um breve histórico sobre o controle de versão.
O comando "gitk" é uma ferramenta gráfica de visualização de histórico do Git, que permite visualizar as informações sobre o repositório Git, incluindo o histórico de commits e ramificações, de uma maneira mais interativa e visual.
Ao executar o comando "gitk" em um terminal, uma janela gráfica será aberta, mostrando o histórico de commits do repositório, organizado em uma árvore. Nessa janela, é possível visualizar as informações de cada commit, como a mensagem do commit, autor, data e hora, além de informações sobre os arquivos modificados em cada commit.
O comando "git help" é um comando de linha de comando usado para obter ajuda sobre o uso do Git. Quando você executa o comando "git help" sem nenhum argumento adicional, ele exibe uma lista de comandos disponíveis no Git.
Você também pode fornecer um argumento adicional ao comando "git help" para obter ajuda sobre um comando específico. Por exemplo, "git help commit" exibirá informações detalhadas sobre o comando "commit" do Git, incluindo sua sintaxe, opções e exemplos de uso.
Além disso, é possível usar o comando "git --help" para obter ajuda em linha de comando para um comando específico do Git. Ele exibe informações semelhantes às obtidas com "git help", mas em uma versão resumida e mais concisa.
As três áreas de código do Git são:
Working Directory (Diretório de trabalho): É onde os arquivos são armazenados e editados. É a área onde você trabalha nos arquivos do projeto.
Staging Area (Área de preparação): Também conhecida como Index, é onde os arquivos são preparados para serem commitados. Nessa área, você seleciona quais arquivos e modificações serão incluídos no próximo commit.
Repository (Repositório): É onde o histórico de versões do projeto é armazenado, incluindo todas as alterações feitas nos arquivos ao longo do tempo. O repositório contém todas as informações necessárias para recriar o projeto em qualquer ponto no tempo.
Aprenda Incorporar mudanças dos commits nomeados (desde o momento em que seus históricos divergiram do branch atual) no branch atual. Este comando é usado por git pull para incorporar alterações de outro repositório e pode ser usado manualmente para mesclar alterações de um branch em outro.
Git Rebase - Replicar Commits
Se <branch> for especificado, git rebase executará uma git switch <branch>ação automática antes de fazer qualquer outra coisa. Caso contrário, ele permanece na ramificação atual.
Se <upstream> não for especificado, o upstream configurado nas opções branch. <name> .remote e branch. <name> .merge serão usadas (veja git-config [1] para detalhes) e a --fork-pointopção é assumida. Se você não estiver em nenhum branch ou se o branch atual não tiver um upstream configurado, o rebase será abortado.
Todas as alterações feitas por commits no branch atual, mas que não estão em <upstream>, são salvas em uma área temporária. Este é o mesmo conjunto de commits que seria mostrado por git log
O ChatGPT é um modelo de linguagem natural desenvolvido pela OpenAI, que foi treinado em uma grande quantidade de dados textuais para poder entender e gerar texto em linguagem natural. É capaz de responder a perguntas, fornecer informações e realizar tarefas diversas que envolvem a compreensão da linguagem natural. Ele utiliza uma técnica de aprendizado de máquina conhecida como GPT (Generative Pre-trained Transformer) para gerar respostas que sejam coerentes e relevantes para a pergunta ou tarefa apresentada.
Git remote é um comando utilizado no sistema de controle de versão Git para gerenciar repositórios remotos. Um repositório remoto é um repositório Git que está hospedado em um servidor diferente do local onde o usuário está trabalhando.
O comando "git remote" permite listar, adicionar e remover repositórios remotos associados ao repositório local. Quando um usuário clona um repositório remoto para o seu computador local, o Git cria automaticamente um repositório remoto chamado "origin", que representa o repositório remoto de onde foi feito o clone.
O "git remote" permite também que um usuário defina apelidos para os repositórios remotos, para tornar mais fácil a referência a eles, e permite que o usuário obtenha informações sobre o repositório remoto, como as branches existentes e o último commit realizado.
No contexto de Git, o termo "cherry pick" refere-se a uma operação que permite que um desenvolvedor selecione um ou mais commits específicos de uma branch e os aplique em outra branch. Isso é útil em diversas situações, como por exemplo:
Aplicação de Correções Urgentes: Se você encontra um bug em uma branch de desenvolvimento e precisa aplicar a correção rapidamente em outra branch, como a branch de produção, sem levar todos os outros commits.
Seleção de Funcionalidades Específicas: Se você está trabalhando em uma funcionalidade grande em uma branch separada e quer integrar apenas uma parte dela na branch principal.
Manutenção de Várias Versões: Em projetos onde várias versões estão sendo mantidas ao mesmo tempo, um fix que foi aplicado na versão mais recente pode ser necessário em versões mais antigas.
Para realizar um cherry pick no Git, você geralmente usaria um comando como:
git cherry-pick [commit-hash]
Aqui, [commit-hash] representa o identificador único do commit que você deseja aplicar em outra branch. É importante notar que o cherry pick pode resultar em conflitos de mesclagem, que precisam ser resolvidos manualmente pelo desenvolvedor. É uma prática útil, mas deve ser usada com cautela para evitar problemas de integridade no histórico do repositório.
Você já teve que criar pastas e pastas com os mesmos arquivos após uma pequena modificação e ficou perdido com o que estava certo de verdade? Ou excluiu um arquivo importante e não pode mais se recuperar? O famoso CTRL + Z não funciona mais ?
Bem, esses problemas são coisa do passado, com o controle de versão vamos resolver grande parte das dores de cabeça e embrulhos no estômago. Se engana quem ainda pensa que é necessário muitos recursos, financeiros e de tempo, para versionar um projeto.
E para a mágica acontecer utilizaremos o GIT.
Mas o que é Git ?
Bom pra começar ele pode ser descrito como um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software, mas pode ser usado para registrar o histórico de edições de qualquer tipo de arquivo.
Através dessa poderosa ferramenta podemos desenvolver um único projeto para que toda equipe trabalhe sobre ele, tudo organizado com ramificações.
Nesse curso iremos criar o versionamento de projetos do zero e ainda hospedar em uma grande rede de repositórios que contém muito do que você pode estar vendo agora na sua tela. O famoso GitHub!
Quais os passos que seguiremos no curso:
Compreenda o conceito básico: Antes de começar a usar Git, é importante compreender o que é o versionamento de código, por que ele é útil e como funciona o Git.
Instale o Git: Instale o Git em seu computador e configure as configurações básicas, como seu nome de usuário e email.
Pratique os comandos básicos: Aprenda e pratique os comandos básicos do Git, como git clone, git add, git commit e git push.
Entenda o fluxo de trabalho: Compreenda o fluxo de trabalho básico do Git, incluindo o uso de branches, merge e rebase.
Realize projetos práticos: Pratique o que você aprendeu fazendo pequenos projetos e versionando-os com o Git.
Aprenda sobre Git remoto: Aprenda a trabalhar com repositórios remotos, como o GitHub ou o GitLab, e como fazer o upload e a atualização de seus projetos remotamente.
Resolva conflitos: Aprenda como resolver conflitos que possam ocorrer durante o processo de merge e rebase.