Curso de Git e Github [Completo] - Aprenda o Essencial em 2 horas

35.76k views25908 WordsCopy TextShare
Victor Lima - Ciência da Computação
00:00:00 - Introdução 00:01:05 - Git na Teoria 00:06:36 - O que é um sistema de controle de versão (...
Video Transcript:
Olá seja muito bem-vindo ao curso rápido e definitivo de guite eu te garanto que seguindo esse treinamento você vai aprender todo o essencial e necessário para se trabalhar com Git no dia a dia profissional Sem enrolação tudo direto ao ponto você não precisa fazer mais nenhum treinamento de 10 8 20 horas de vídeo para aprender guite porque todo o material que você realmente precisa para usar no dia a dia como programador está aqui neste grande aulão neste grande curso rápido e eu só tô conseguindo trazer esse material de uma forma completamente gratuita para vocês graças
ao patrocinador de hoje Arrocha em guerra que é uma das principais empresas de hospedagem de site do Brasil Então se você tá procurando uma empresa pra hospedar o seu site ou site da sua empresa ou de algum cliente dá uma olhadinha na rocha que é porque eles têm planos a partir de r$ 10 o link da promoção dele está aí no primeiro comentário fixado Então bora lá vamos colocar a mão na massa e vamos começar aqui o nosso treinamento existem dois tipos de perguntas que eu mais escuto de iniciantes quando eles vão trabalhar com kit
que é o primeiro Tipo o que é guite para que isso serve e o segundo tipo é qual é a diferença entre Git e github são a mesma coisa a segunda pergunta a gente vai resolver a gente vai responder daqui a pouco um pouco mais para frente vamos focar por enquanto e responder a primeira pergunta que é o que é Git Qual é a utilidade real disso porque as pessoas falam tanto de guite vamos entender agora tá então da forma técnica com os programadores chamam o Git é um sistema de controle de versão mas eu
sei que para alguns principalmente quem nunca ouviu falar sobre esse termo isso não pode fazer muito sentido então por isso que eu vou dar um exemplo prático Então vamos supor que você trabalha em uma empresa que não usa guite ou qualquer outra ferramenta de relacionamento de controle tá e aí tem você aqui e tem dois companheiros seus aí que trabalham na equipe de programação dessa empresa só que for repetir essa empresa não usa geek tá E aí nessa empresa vocês trabalham com python o kit um negócio interessante do kit é que ele funciona em qualquer
linguagem de programação qualquer uma mesmo então vamos supor que nessa empresa vocês trabalham com python e Aqui vocês têm um arquivo né Vocês têm um projeto que está em um único arquivo Python por exemplo projeto o ponto pai um projetinho simples mas que está apenas em um único arquivo só para simplificar o nosso exemplo essa empresa Ela não trabalha com kit então cada programador quando vai trabalhar no projeto precisa é ir no computador onde o projeto está armazenado botar um pen drive pegar a versão desse projeto e levar para o computador dele então vamos supor
que você já fez isso e você tá com projeto na mão aqui no seu computador e aí você começou a desenvolver uma ferramenta que o seu chefe pediu para você desenvolver nesse arquivo Python show de bola só que bom o seu chefe não quer deixar os outros programadores parados E aí o que foi que ele falou é cada um deles desses outros dois programadores que o que desenvolver mais duas funcionalidades diferentes da sua que você tava fazendo nesse mesmo arquivo Então o que eu vou com esses programadores fizeram foram lá no computador onde o projeto
fica salvo botar um pen drive levaram para máquina deles e abriram esse arquivo lá legal E aí cada um começou a desenvolver as suas funcionalidades que o chefe pediu eles começaram a desenvolver isso às 8 horas da manhã E aí às 5 horas da tarde no fim do expediente você e seus companheiros acabaram de desenvolver a ferramenta quer dizer a funcionalidade que foi solicitada para cada uma para cada um de vocês E aí eu te pergunto se o projeto é tem um arquivo só né e ele fica Centralizado num computador lá na empresa Qual das
três versões do arquivo tem que ficar salvando no computador central do projeto E aí considerando que cada um dos programadores fez modificações né e só pode existir um arquivo desse no computador onde o projeto fica E aí qual desses três arquivos tem que ir ficar armazenado de fato no projeto Pois é né tem um problema porque cada um fez coisas diferentes então cada um modificou totalmente os arquivos E aí essa empresa não usa Git não usa Nenhuma ferramenta para lidar com esse tipo de problema E aí o que que teria que acontecer sobrou para você
sei lá porque você é mais experiente ficar depois de expediente com hora extra tendo que criar uma cópia maior desse arquivo na mão que coubesse né todas as funcionalidades vamos dizer assim que cada um dos seus amigos fizeram Ou seja você iria criar uma quarta versão desse desse arquivo projeto ponto pai né Desse arquivo Python contendo tudo com seus amigos fizeram junto com o que você fez sem quebrar o projeto tudo na mão Aí sim você pegaria esse arquivo e jogaria lá para o servidor onde o projeto tem que ficar armazenado tá tá vendo problema
Esse é um baita de um problema né E olhe que eu estou falando de uma empresa pequena que só tem três programadores as empresas de tecnologia hoje em dia tem dezenas centenas de programadores já imaginou é inviável né trabalhar dessa forma desse modelo é por problemas desse tipo que o gate surgiu porque porque o Git resolve justamente Um dos problemas que o Git resolve é esse tipo de problema dos programadores conseguiram trabalhar simultaneamente ao mesmo tempo no mesmo projeto sem apagar o trabalho um do outro daqui a pouco a gente vai explicar melhor como isso
funciona mas antes de eu voltar para explicar como é que o Git funciona nesse ponto eu quero explicar uma funcionalidade mais simples do Git bom antes a gente entender como é que o Git resolve o dilema dos três programadores vamos tentar entender melhor aqui como é o funcionamento básico do Git né O que funciona de uma forma muito simples lembra que eu falei na aula passada que o Git ele é denominado como um software de controle de versão e sim na essência do Git que ele faz é controlar versões de arquivos mas como assim vamos
mostrar isso aqui agora vamos supor que você tá trabalhando numa empresa que trabalha com desenvolvimento de sites e lá você tá mexendo no arquivo HTML para quem não sabe HTML é a linguagem de construção de sites a linguagem de marcação tá E aí você começou a mexer nesse arquivo no dia 20 de Março por exemplo uma semana depois vamos utilizar essa setinha aqui para representar a passagem de tempo tá uma semana depois você tinha outra versão desse arquivo onde você adicionou várias e várias e várias coisas E agora você tá usando o Git tá legal
Daí chegou aqui nessa versão você apresentou essa versão desse arquivo desse site para o seu chefe o seu chefe pô achou show de bola e aí ele pediu para você usar um pouco da sua criatividade e adicionar mais features né adicionar mais funcionalidades nesse site Então passou mais um tempo passou uma semana você adicionou várias funcionalidades nesse site E aí você tinha mais uma versão nesse site pronto na semana na próxima semana E aí só que o que aconteceu é o seu gerente teve que sair da empresa são exemplo tá teve que sair da empresa
e mudou diferente mudo diferente e aí você teve que apresentar esse site da empresa para o novo gerente só que esse novo gerente não gostou desse site ele preferiu o antigo só que você fez um monte de modificação né aqui e aí se você tiver se você não tivesse utilizado o kit você teria que é replicar o site antigo na mão literalmente na mão tu ia passar mais uma semana fazendo site antigo na mão só que como você foi esperto e você utilizou o kit um único comando você volta no tempo pá voltou no tempo
um minuto depois você chegou para o seu gerente e falou ó tá aqui ó a versão do jeito que você pediu ele falou Caramba você é rápido hein cara mal sabe ele que você tá usando o kit hein Beleza então é assim que o Gui funciona tá então você faz uma modificação no arquivo você consegue salvar um histórico desse arquivo legal e voltar no tempo sempre que você precisa é assim que funciona tá só que o Gui não funciona a nível de arquivo como a gente está simplificando aquele funciona nível de projeto então o que
que eu quero dizer com isso o kit ele não vai considerar apenas um arquivo ele vai considerar todos os arquivos que existem dentro do seu projeto legal então vamos supor que você tá trabalhando num projeto grandão chamado um sistema bancário por exemplo tá pum se chama que é um projeto de programação que tem um monte de arquivo lá dentro o gate ele é poderoso o suficiente para trabalhar com esse monte de arquivo ao mesmo tempo sem que você precisa ter muito esforço então o kit ele vai traquear o histórico de todos os arquivos dentro de
um projeto legal então vamos supor que aqui você tem a versão 1.0 desse projeto primeira versão E aí você faz um modificação no monte de arquivo E aí você faz o que a gente chama de comiti no Kit o Comet é você basicamente mandar o Git salvar o histórico naquele momento que você executou o comando então se eu fiz uma modificação no projeto e rodei o comando comite no Git ele vai salvar o histórico ele vai salvar uma versão daquele projeto que vai ficar salvo ali para sempre e se daqui a 10 anos eu quiser
voltar para essa mesma versão eu consigo legal então ele salvou a versão salvou aqui a versão do Bank System vamos dizer que você chamou essa versão de 1.5 por exemplo legal tá aí você pode seguir esse fluxo aí enquanto você tiver desenvolvendo seu software faz uma funcionalidade e comita né esse verbo comita né que não existe na língua portuguesa é claro mas é um verbo que programadores usam tá que é o ato de comentar o ato de bater um martelo e salvar uma versão salvaram a modificação né no histórico do kit É isso legal então
sei lá vamos passou dois anos você desenvolvendo esse sistema bancário E aí você tá sei lá na versão 11.5 por exemplo então e aí vamos supor que durante esses todos esses anos você criou um monte de convite milhares de convites tá que são milhares de diversão versões e o negócio interessante do Git é que ele não ele não sobrescreve uma versão sobre a outra sabe então por exemplo se eu tô trabalhando na versão 1.5 e eu faço um convite para versão 2.0 do meu projeto por exemplo ele não vai apagar ele não vai sobrescrever a
moto 5 ao 1.5 vai ficar lá para sempre tá então por exemplo eu tô aqui na versão 11.5 do meu projeto milhares e milhares de convites depois da versão 1.5 se eu quiser voltar para versão 1.5 lá do início do meu projeto convite eu consigo é só rodar um simples comando que eu reverto as alterações do meu projeto lá para versão de anos atrás se eu quiser né então é assim que funciona legal e quando a galera usa o termo Sistema de Controle de versão é isso o kit é simplesmente um sistema que vai salvar
o histórico sempre que for necessário ele vai salvar o histórico de modificações e arquivos e sempre que for preciso você consegue voltar essas versões tá mas como é que isso resolve o problema do dilema dos três programadores que nós tínhamos da aula passada bom a gente vai ver isso agora agora vamos para o grande questionamento né como é que o kit com aquele Sistema de Controle de versão dele vai resolver esse problema do dilema dos três programadores bem simples tá da seguinte forma primeiramente a gente tem que entender uma coisa do Git que é o
seguinte Todo projeto que usa kit fica salvo no que a gente chama de repositório Tá então vamos supor que isso aqui é o nosso repositório E aí dentro desse repositório fica todos os arquivos do projeto geralmente esse repositório kit fica em um servidor Mas você pode criar um repositório local na sua máquina mas na maioria dos casos práticos o repositório Onde fica todo o código fonte do projeto fica em um servidor externo que todos os programadores de uma empresa por exemplo tem acesso tá então aqui a gente tem um repositório Voltando ao problema dos três
programadores vamos supor que a gente tem o mesmo contexto só que agora eles estão utilizando Git você ficou p da vida que você teve que ficar até depois do horário arrumando lá o Né o problema dos arquivos que você falou não vamos a guite agora vamos aqui então vocês começaram a utilizar Git E aí em vez do projeto ficar no computador lá da empresa ele tá agora num servidor repositório guit Ok então como é que seria esse fluxo de trabalho agora vamos supor que seu chefe chegou e falou para cada um de vocês que vocês
têm que desenvolver mais três funcionalidades diferentes nesse projeto utilizando o kit agora em vez de cada programador e lá no PC da empresa pegar o projeto com pen drive Isso aqui é uma coisa que eu vou falar que é o seguinte existem outras formas de se trabalhar com glitch além dessa que eu vou explicar porém essa forma é a mais comum de todas disparadamente nas empresas ok que é o seguinte vamos imaginar que aqui a gente tem uma linha do tempo aqui você tem uma linha do tempo E aí vocês começaram a modificar o projeto
agora vamos dizer que o início da linha do tempo é agora 8 horas da manhã assim que o expediente começou o que cada programador deve fazer agora utilizando o Git cada programador quando for desenvolver a sua a sua funcionalidade Tem que criar o que a gente chama de Brant que é um galho tá então aqui é a sua frente então você aqui tá Isso aqui é a sua frente aí ao mesmo tempo tá aí ao mesmo tempo o programador um que eu vou chamar de p1 Abril abrange para desenvolver a ferramenta dele a funcionalidade dele
e um pouquinho depois porque ele chegou atrasado o segundo programador começou a desenvolver também a funcionalidade dele então é no Git existe essa possibilidade tá quando você vai começar a trabalhar numa ferramenta não funcionalidade nova você consegue executar um comando no Git que você cria uma brente que é como se fosse uma versão daquele projeto isolada só para você tá então você criou a Branch para desenvolver a sua ferramenta e seus amigos também então cada um de vocês agora estão isolados porém no mesmo projeto daí o tempo vai passando o tempo vai passando tá vendo
a linha do tempo se desenvolvendo aqui então o dia vai passando cada um trabalhando na sua frente e aí acabou o expediente E aí a gente chegou naquele mesmo ponto e agora cada um trabalhou separadamente né no projeto cada um fez as modificações diferentes no mesmo arquivo e agora o que acontece como é que o Git lida com isso o kit tem uma funcionalidade que é sensacional para trabalhar em equipe que é a funcionalidade de murt é que é basicamente misturar que é colar né Se a gente fosse fazer uma tradição literal creio que uma
tradição melhor seria fundir vocês vão fundir vão combinar cada uma das modificações que vocês fizeram aqui ó Na Linha do Tempo principal do repositório então aqui no final do expediente vocês vão executar o comando merge do Git E aí todas as modificações que vocês fizeram separadamente vão ser mescladas vão ser combinadas em um único arquivo novo e ninguém vai perder o seu trabalho porque o Git vai lidar com isso automaticamente certo então é nesse caso aqui do dilema dos programadores o que te ajuda com essas duas essas duas funcionalidades o Brand para cada programador trabalhar
em um ambiente isolado daquela versão e o merge para que cada programador pegue modificações Se cada um deles fizeram em cada um dos arquivos do projeto e somem tudo na versão principal do projeto sem que ninguém perca nenhum trabalho entendeu no momento que o merj vai acontecer aqui pode acontecer conflitos mas isso aqui a gente vai aprender mais para frente no treinamento Tá mas eu acredito que com essa parte teórica que do nosso treinamento Deu para entender como é que o Git funciona qual é a real utilidade do Guide e como é que ele resolve
problemas do dia a dia né É graças a essas funcionalidades do GATE de direcionamento de Branch de Bege que empresa gigantescas como Facebook como o Google e até mesmo empresas médias com centenas ou dezenas de programadores conseguem criar projeto de forma efetiva hoje em dia no mercado de trabalho cara eu vou dizer que é impossível porque realmente é impossível você trabalhar numa empresa de programação que não usa Git hoje em dia não mas qualquer outro qualquer outra ferramenta relacionamento porque não existe só o Git Tá mas assim eu espero que tenha ficado Claro qualquer dúvida
deixa aí nos comentários tá e eu te vejo aí no próximo top agora como prometido eu vou responder aquele segundo tipo de questionamento mais comum quando vai trabalhar com Git quer o que é github qual a diferença entre geekit Rubi lembra que alguns minutos atrás no tópico passado eu falei que os repositórios guite que são a essência do kit ficou armazenados em servidores lembra né então o githubs é justamente um serviço que serve para armazenar para hospedar repositar os guite é isso entendeu então se você tá trabalhando em equipe num projeto e você quer hospedar
o repositório desse projeto na web para que qualquer programador em qualquer lugar do mundo na sua equipe É lógico consiga ter acesso a esse repositório de uma forma fácil você pode subir esse servidor geech Rubi Então github resumindo é um serviço de hospedagem de repositórios guite aí você fala mas para que para que isso eu não posso simplesmente hospedar um repositório guit na minha máquina e aí um companheiro de trabalho por exemplo que trabalha lá em outra cidade não consegue acessar o meu repositório que está hospedado na minha máquina até consegue Mas aí você vai
ter que fazer um monte de configuração de rede enfim fica bem chato e bem inseguro então o kit Hub facilita essa questão de hospedar repositórios guide E aí o guit permite que você crie repositórios públicos e privados Como assim privados vamos supor que hoje eu tô abrindo uma empresa é que desenvolve por exemplo uma ferramenta de loja virtual e eu tenho uma na minha equipe é 50 programadores e cada um desses programadores trabalham em cidades diferentes Eu por exemplo poderia criar um repositório privado no github onde todo o código fonte do nosso software estaria nesse
repositório privado e todos esses programadores da minha empresa conseguiriam acessar com muita facilidade esse repositório do nosso software né como também o kit Hub serve para projetos abertos um exemplo que eu gosto bastante é uma ferramenta de criação de jogos chamada Godo tá então como é que funciona esses projetos abertos do github no github eu consigo criar um projeto deixar aberto para todo mundo então qualquer pessoa do mundo pode entrar nessa página como eu tô entrando aqui e olhar todo o código fonte do projeto e a grande vantagem disso aqui é que eu posso contribuir
nesse projeto eu posso fazer modificações e comentar subir para esse projeto E aí se o proprietário desse projeto quiser aceitar ele aceita se ele não quiser aceitar ele não aceita outro Ótimo exemplo de projeto público no github é um Linux o próprio quer no Linux está hospedado né todo o código fonte do Linux pesado aqui no github para qualquer um que quiser ver posso haver e para qualquer um que quiser contribuir possa contribuir inclusive esse repositório ele tá ele foi criado pelo né aqui na conta do criador do Linux né o Linux legal então assim
além do kit Hub ter o serviço de o serviço de repositórios privados para empresas né e tals ele também tem um serviço de repositórios públicos para a questão do código fonte aberto do Open só se por aí vai além do kit Hub existe em outras opções de hospedagem de projetos Como por exemplo o Git Lab né que faz quase as mesmas coisas que faz porém é menos Popular Mas ele também é um serviço de hospedagem de repositórios e o beatbox que faz exatamente a mesma coisa além dessas três opções ainda existe a opção de você
hospedar no servidor próprio tá muitas empresas escolhem essa opção por questão de privacidade então é comum você encontrar isso no mercado de trabalho empresas que não usam Beach e que sobem no seu próprio servidor por exemplo num servidor VPS da Rocha inteira aqui que suporta esse tipo de coisa então se você quiser criar um seu próprio site do Git você pode tá então é isso essa diferença de github e vamos lá para a próxima aula agora que você já sabe como o gif funciona para que ele serve tá na hora de instalar ele aqui no
Windows se você utilizar Linux daqui a pouco eu te mostro como instalar no Linux mas para a maioria das pessoas que utilizam o Windows é bem simples é só você pesquisar ou você acessar esse site que tá ali na barra de endereço Gui te traço scm.com ou senão você joga no Google só gite que você vai cair nesse site Ok e aqui Você pode baixar a versão para Windows do Git é bem tranquilo aqui você escolhe se você quer baixar a versão 32 ou 64 bits Ok E aí após você baixar que é um download
bem pequeno a gente pode instalar o processo de instalação é bem simples porém tem algumas opções interessantes Então por enquanto vamos clicar aqui em next next next next e aqui tem a primeira opção interessante que é para você escolher o editor padrão do kit isso aqui é algo bem específico tá isso aqui não vai limitar qual editor de código você pode utilizar no seu computador para trabalhar com glitch nada disso tá nada disso é que às vezes o Git precisa abrir um outro arquivo de configuração quando você roda alguns comandos bem específicos E aí é
só opção só tá falando assim beleza quando você rodar aqueles comando específico para alterar alguma opção no Git com cai de todos você quer abrir esse esse arquivo que configura esses comandos por padrão ele vem com vinho e o próprio instalador fala assim ó o vinho é o e padrão do Git por razões históricas mas a gente recomenda demais que você mude para um editor moderno tá para quem não sabe o vinho editor de texto bem antigo e bem tenso de usar principalmente para iniciantes tá e se a gente está trabalhando no ambiente gráfico como
Windows se a gente está trabalhando no nosso sistema operacional de usuário mesmo se a gente tá trabalhando num ambiente que não é um servidor não tem porque utilizar o vinho como editor padrão tá nenhum motivo mesmo e aí você pode escolher qualquer outro editor aqui que você tenha instalado no seu computador por exemplo se você trabalha com Sublime você pode escolher o Sublime ou átomo por exemplo tem um vs code também né então você pode deixar por padrão aqui vs code ou até mesmo próprio bloco de notas do Windows eu vou deixar o bloco de
notas do Windows mesmo então e os Notepad como o editor do Windows mesmo tá Porém você pode escolher qualquer editor que tenha instalado no seu computador no caso eu vou utilizar um Notepad porque todo Windows tem um Notepad beleza e aí eu vou clicar em next após isso eu não preciso mexer nisso aqui legal next isso aqui também não next isso aqui também não não não beleza só vai pulando aqui no next boa parte dessas opções aqui galera raramente raramente mesmo Você vai precisar mexer em alguma ocasião é tão específica essas opções que cara Nem
vale a pena eu abordar aqui que vai ser só encheção de linguiça tá na prática na vida real mesmo no dia a dia de trabalho você não importa essas opções que a gente pulou aí beleza então vou clicar aqui Infinity e o Git foi instalado com sucesso aí você deve estar se perguntando beleza mas como é que a gente testa o kit existe algumas formas de testar de usar o Git no Windows né A primeira forma é você abrir o CMD né Você pode abrir aqui o cm deu prompt de comando ah Vitor não sei
abrir o CMD Abre o menu iniciar e digita CMD e abre pronto de comando após isso você pode rodar o comando Git menos menos version apertar enter e se ele te retornou alguma versão como ele retornou aqui né Isso quer dizer que ele foi instalado com sucesso legal outra forma de se utilizar guit no Windows também após você instalar é você abrir esse programinha aqui ó Git Dash que é bem interessante também que ele vai abrir um terminal com os comandos bem parecidos com do Linux para você trabalhar com kit é bem legal também ó
Git - fashion e ele vai retornar a versão do Git também tá legal Então essas são algumas formas de se trabalhar com Git no Windows e ver se o Git foi realmente instalado com sucesso e aí você deve estar se perguntando né Tá mas a gente vai utilizar a linha de comando mesmo a gente vai utilizar o CMD mesmo não existe nenhuma outra opção melhor para utilizar o ritmo interface gráfica até tem tem um monte tem um kit Hobby desktop tem um kit craque porém eu vou passar a minha experiência aqui tá de várias empresas
que eu passei e que eu dei Consultoria o comum mesmo é todo programador trabalhar só com a linha de comando se você iniciante está se questionando isso então quando você vai trabalhar com Git você vai direto na linha de comando porque porque depois que você aprende guite é muito mais rápido você trabalhar direto na linha de comando do que utilizando qualquer interface gráfica tá sem contar que a linha de comando utilizar a linha de comando é melhor para você aprender Git também porque você vai entender os comandos na prática quando você utiliza um interface gráfica
do Git você acaba fazendo as coisas cegas sem entender muito bem o que tá acontecendo por trás dos panos daquela aplicação gráfica né então não tenha medo do CM desse você é iniciante todos os comandos que a gente for utilizar eu vou explicar e também vou te explicar o funcionamento básico do CMD caso você não saiba Tá não tem problema não tenha medo da lei de comando porque ela é tua amiga e se você tá começando a sua carreira como programador agora você vai levar essa habilidade de uso do CMD do terminal né para sempre
na sua carreira tá então uma hora ou outra você tinha que interagir com ele e eu só tô falando isso porque tem muita gente que se questionar mesmo tá do porque utilizar linhas de comando Enfim então a gente vai utilizar e todo o curso a gente vai fazer em cima da linha de comando mesmo beleza então OK agora só um comentário que é o seguinte se você tá utilizando o Linux é cada distro tem o seu comando específico para instalar o Git Ok se você tá utilizando qualquer distro baseada no Ubuntu ou Linux Mint você
pode simplesmente rodar o comando surdo apetente tá o Git E aí você vai instalar o Git muito facilmente e depois é só você rodar o comando Hit menos menos Fashion aí no seu Linux para ver se ele foi instalado então é muito simples mesmo se você utiliza qualquer outra distro dá uma pesquisadinha no Google OK então esse é o processo de instalação do Git na próxima aula a gente começar por a mão na massa de fato com esse sistema de controle de versão então agora a gente vai colocar a mão na massa Vamos criar o
nosso primeiro repositório kit eu não sei se você lembra mas lá na parte teórica do curso eu falei que tem como você tanto criar repositórios locais na sua máquina como repositórios na web como em ferramentas como o github para início de conversa a gente vai aprender a trabalhar com repositórios locais e mais para o final do treinamento eu vou te ensinar como trabalhar com repositórios remotos que são os repositórios do github Tá bom então vamos começar antes da gente começar eu tenho só um aviso durante todo o nosso treinamento eu vou fingir que a gente
tá fazendo um projeto de programação é só um projeto de mentirinha tá só para a gente entender melhor como é que o Git funciona e a linguagem que eu vou usar é a linguagem de marcação HTML que é uma linguagem extremamente simples mesmo que você não saiba HTML você pode continuar comigo aqui não tem problema nenhum você pode tanto copiar todos os códigos que eu faço ou usar a linguagem de programação que você quiser como exemplo tá bom no caso eu vou utilizar a linguagem de marcação html então se você quiser simplesmente me seguir copiando
tudo que eu digito só me seguir Tá então vamos lá para a gente criar um repositório kit a gente precisa primeiramente ter uma pasta né então vou criar aqui uma pasta na minha árvore área de trabalho mesmo que eu vou chamar de meu site vamos supor que a gente tá desenvolvendo um site legal eu vou criar todo minúsculo aqui mesmo meu sai Ué o Windows não deixa eu criar minúsculo é Windows não tá me deixando criar minúsculo Mas beleza tudo bem então eu criei uma pasta aqui chamada meu site e vai ser nessa pasta que
a gente vai inicializar o nosso reparo Git mas como é que a gente inicializa o repostar o vídeo primeiramente evitamos que abrir a nossa linha de comando se você tá no Linux Abra o seu terminal então vou vir aqui no menu iniciar e digitar CMD legal agora a gente precisa Navegar até essa pasta essa pasta está na minha área de trabalho como é que eu navego até ela no Windows tem uma forma mais fácil que é eu simplesmente pegar essa pasta e arrastar aqui ó aí ele vai pegar o caminho direto da pasta e tem
a forma manual que é o seguinte é perceba que o prompt de comando do Windows ele vai abrir em uma pasta nesse caso ele abriu aqui na minha parte de usuário do Windows se eu quiser ver todos os arquivos e pastas que estão dentro deste diretório é só rodar o comando de dessa forma aqui e apertar enter dessa forma ele vai me mostrar todas as pastas que o meu usuário do Windows tem e uma dessas pastas é a pasta desktop que é a área de trabalho eu posso Navegar até essa pasta digitando o comando CD
que significa Change directory ou seja mudar de diretório e o nome da parte que eu quero navegar Se eu quisesse por exemplo Navegar até a pasta downloads do Windows era só digitar downloads dessa forma aqui só que eu quero navegar até a pasta desktop Então em vez de eu colocar seria download eu vou colocar CD desktop e vou apertar enter Pronto ele vai mudar de diretório e perceba que o CMD fala aqui em qual parte ele tá agora ele tá na pasta desktop que a minha área de trabalho Justamente não tá essa parte também o
site agora vou rodar novamente o comando de e ele vai mostrar todo o conteúdo da minha área de trabalho e o conteúdo que eu tenho aqui ó é minha pasta meu site eu posso Navegar até essa pasta que eu acabei de criar aqui com o comando CD meu site apertar entra Pronto cheguei na pasta meu site e vai ser nessa pasta que a gente vai inicializar o nosso repositório então Lembrando que eu posso fazer todo esse processo que eu fiz aqui de uma forma muito mais rápida como mostrei lá no início que é simplesmente abrir
o CMD digitar o comando CD e arrastar a pasta para cá e vai pegar o diretório completo da pasta que eu criei é só apertar enter pronto estou na pasta Tá bom então lembra daquele que eu te falei além de eu te ensinar guite eu vou te ensinar também um pouco de linha de comando tá então show de bola e aí como é que o inicializa o meu repor o kit agora é muito simples instalado é só digitar o comando kit Elite e apertar enter Pronto ele tá avisando aqui que ele inicializou um repositório Git
na nossa pasta Ah e vale a pena anotar que sempre que você criar um repositório Git em alguma pasta o kit vai criar uma pasta oculta chamada ponto Git que é a pasta que o Git usa para gerenciar o seu repositório tá você não precisa fazer absolutamente nada nessa pasta é só uma pasta interna do kit tá com repositório inicializado nós podemos agora criar algum arquivo de código dentro desse dessa pasta Onde tá o nosso repositório OK aí você fala Tá mas eu abri a pasta aqui no Windows e eu não tô vendo nada não
era para ter uma pasta ponto do kit aqui pois é qualquer pasta que começa com caracter ponto o Windows esconde a gente não consegue ver então o que que eu vou fazer eu vou abrir essa pasta no meu vs code que é o meu editor de código Favorito Você pode abrir aí no seu qualquer um mesmo E aí eu vou abrir essa pasta aqui e dentro dessa pasta a gente vai criar o nosso primeiro arquivo fictício né primeiro arquivo de código fictício que eu vou chamar de site ponto HTML Lembrando que você pode usar a
linguagem que você quiser para os exemplos tá a linguagem que não importa ou Se você não souber nenhuma você pode simplesmente me copiar aqui Tá bom então criamos o nosso primeiro repositório criamos o nosso primeiro arquivo e na próxima aula a gente vai entender como é interagir com o kit Então é isso eu te vejo numa próxima Olá tudo bem nessa aula a gente vai aprender um comando muito importante do Git chamado Git Edge que é basicamente um comando que a gente usa antes de colocar um arquivo no versionamento do Git mas antes de eu
mostrar o comando em si Deixa eu só te mostrar aqui uma estrutura básica do Kit é no kit a gente tem a nossa pasta principal que nesse caso aqui no meu caso em específico essa parte do meu site daí a gente tem a pasta ponto Git que foi a pasta oculta que a gente viu que o Git cria é quando a gente inicializa um repositório né O que te cria essa pasta dentro dessa outra pasta aqui a gente viu isso na aula passada uma parte invisível e é dentro dessa pasta que vai ficar salvo de
fato todas as versões de todos os arquivos do seu projeto ok Porém para você mandar um arquivo que está na sua pasta aqui para dentro a gente tem que passar por uma área cinza uma área intermediária que a galera chama de Stage tá que é uma espécie diária temporária que você coloca os seus arquivos antes de mandar para o repositório em si Ok E aí como é que a gente manda um arquivo que está dentro da nossa parte do nosso projeto para área de Stage a gente manda através do comando Git add né E aí
a gente manda do stage para o repositório através do comando kit Comet é o convite vai salvar de fato aquela versão daquele arquivo dentro do repositório de verdade tá e nessa aula a gente vai focar em aprender Esse comando aqui o Git add Então vamos começar é para início de conversa eu vou abrir o meu CMD na pasta do meu projeto então lembrando como é que se abre né abre o CMD digita o comando CD E aí arrasta aqui ó para ele pegar o diretório da pasta direitinho dessa forma aqui e aí eu vou apertar
um enter Já estou aqui na minha pasta Eu Posso rodar o comando CLS ou comando clear para limpar o meu CMD ele limpou tá E aí estando aqui dentro da nossa pasta Onde tem um repositório kit Eu Posso rodar o comando status Esse comando aqui ele vai retornar para gente o seguinte ele vai retornar para gente é o status atual do nosso repositório ele vai retornar quantos brindes existem quantos cometes existem e também ele vai falar se existe ou não arquivos que ainda não estão repositório perceba que aqui ele mostra uma opção chamada and trackerfiles
que é basicamente é os arquivos que ainda não estão no repositório os arquivos que estão em vermelho são os arquivos que ainda não estão no nosso repositório Git que é justamente esse arquivo HTML que eu criei na aula passada né É E ele fala aqui ó use o comando Git add que é aquele comando que a gente falou agora a pouco para incluir este cara para começar a incluir este cara dentro do repositório né então a gente tem que rodar Esse comando Gui gdd para colocar no nosso arquivo dentro da área de stage que a
Clara é temporária né então como é que a gente faz isso muito simples ele dá até uma dica aqui né Git add e o nome do arquivo né Git é ddd Então olha aí já adiciona aí no Stage o arquivo site ponta HTML uma coisa legal desse comando é o seguinte se eu tiver múltiplos arquivos se eu tivesse lá 50 arquivos eu não vou vir aqui colocar um por um né E aí o que que eu posso fazer eu posso simplesmente fazer um Git add ponto e o kit HD vai adicionar todos os arquivos não
traqueados automaticamente no Git sem que eu precise sem que eu precise digitar o nome de cada um Ok então lembra desse atalho aí que a gente vai usar um pouquinho bom mas agora eu quero só usar o arquivo específico Então vou colocar geech feito isso adicionei o meu arquivo na área de Stage E aí eu posso rodar o comando que te status E aí ó olha só que ele tá mostrando aqui ele tá me mostrando agora o arquivo como verdinho né se ele tá verde quer dizer que o Git sabe que ele existe mas lembra
que o que a gente fez agora foi apenas colocar esse cara na área de Stage o grite sabe que esse cara existe porém a gente ainda não salvou esse cara no repositório e isso a gente vai ver na próxima aula tá anteriormente a gente mandou um arquivo da nossa pasta para a área de Stage e agora a gente precisa mandar da área de stage para dentro de fato do nosso repositório guit para que o nosso repositório guítico mas se acionar aquele arquivo porém antes a gente conseguir executar o comando que vai fazer isso a gente
precisa configurar o nosso usuário no Git porque porque eu comente é a ação de você mandar uma modificação para o Git certo então todo o convite que você faz o que te vai guardar as alterações que foram feitos naquele arquivo e armazenar essas alterações no formato de histórico dentro do repositório porém todo o convite toda alteração que é mandada para o kit precisa ter um autor quem foi que mandou essa alteração né Isso é uma regra do Git Então antes da gente conseguir executar o comando Comente a gente precisa configurar o nosso usuário aí você
fala mas para que isso para que essa bobagem porque é assim imagine que você tá trabalhando numa empresa com 200 programadores e aí alguém sobe um convite que quebra o sistema como é que você vai descobrir quem subiu esse comete né que quebrou o sistema Quem Subiu essa modificação que quebrou o sistema você vai lá no Git ver o histórico e você vê exatamente qual foi o nome de usuário e o e-mail desse cara que mandou aquele convite certo então é configurar um usuário no Git é útil para isso para identificar quem é o dono
de cada modificação Ah você mudou uma linha naquele arquivo ali Beleza o que a gente sabe que foi você pelo seu nome e pelo seu e-mail entendeu então é útil para isso E aí como é que eu faço para configurar o meu usuário voltando aqui ao meu CMD eu sugiro que você não feche essa mede durante o curso tá é só por questão de conforto mesmo eu vou rodar o comando CLS para limpar ele eu estou aqui na pasta do meu repositório mesmo né do meu projeto E aí aqui eu vou rodar e para definir
o nosso nome aqui no Kit é só a gente chamar Esse comando aqui ó kit com fig menos menos global e o ser ponto name e aqui você dá um espaço e define o seu nome por exemplo aí é só apertar enter após isso a gente precisa definir também um e-mail então por exemplo que eu vou colocar um e-mail qualquer esse e-mail não precisa estar associada a coisa nenhuma não precisa estar associada ao github nem nada do tipo você pode colocar o seu e-mail principal aqui e apertar enter pronto se você acabou de configurar aqui
é as as suas duas informações as suas duas credenciais tá agora que você já aprendeu a configurar seus dados tá na hora da gente fazer a última etapa aqui do fluxo que é voltar os nossos arquivos as nossas modificações da área temporária para dentro de fato do nosso repositório Git tá para fazer isso a gente tem que executar um comando chamado então eu vou começar abrindo aqui o meu repositório no meu no meu na minha mente de comando Ok E aí aqui dentro a gente vai ter que digitar um comando chamado kit status obrigatória a
gente digitar eu tô pedindo para você digitar só para gente só para a gente ver o que que o que te fala então O bicho tá falando pra gente o seguinte a gente tem mudanças prontas para serem comentadas ele fala aqui ó tá vendo e para a gente tá o convite como é que a gente faz para de fato inserir essas mudanças dentro do Git a gente faz assim ó digito o comando kit Comet dessa forma aqui menos m para definir uma mensagem abrir aspas e aqui dentro dessas aspas exatamente dessa forma aqui a gente
tem que colocar uma mensagem Como assim uma mensagem para que serve isso vamos lá o que é um comício é uma aplicação de uma mudança em algum projeto que usar o Git e geralmente toda a mudança que você faz algum projeto tem algum motivo toda a mudança ou adição tem algum motivo vou dar um exemplo por exemplo você está desenvolvendo um site e o seu chefe chega para você e fala Olha eu quero que você adicione mais uma imagem aqui nessa parte específica do site você vai lá adiciona essa imagem e faz um convite com
esta modificação né para o Git criar essa versão a mensagem que você vai colocar aqui no seu convite é sempre a mensagem do que você fez naquele convite naquela modificação naquela última modificação então por exemplo se o meu site se o meu chefe pediu para eu adicionar uma imagem nova eu vou colocar aqui ó adicionando uma nova imagem no site ou seja essa mensagem é para você justamente descrever o que você está mudando no projeto e é muito importante que você respeite essa prática e não vem aqui faça isso aqui ó não faça isso ou
isso aqui um dois três ou deixar mensagem vazia certo é muito importante para manter o seu projeto organizado principalmente se você trabalha em equipe você descrever com maior número de detalhes possíveis o que você fez sem encher muita linguiça então por exemplo adicionando uma nova imagem no site você também não precisa digitar uma redação do Enem aqui basta uma pequena frase como essa para descrever o que você tá fazendo naquele convite mas se você chegar numa empresa certo se você chegar na empresa e começar a comentar assim ó assim assim assim um trechos aleatórios cara
se você tá Em Maus Lençóis porque o teu chefe não vai gostar nem um pouco disso tá então adicionando uma nova imagem no site por exemplo E aí eu vou apertar entra Então agora é só apertar enter e show de bola olha só o que foi que ele falou aqui ele criou o convite então ele tá falando aqui para mim a mensagem do convite e qual foi o autor desse convite né Tá então é aqui que aparece aquela informação então por exemplo se você tiver trabalhando em equipe sempre que aparecer o convite de alguém vai
aparecer exatamente qual é o autor e aquele mostra é o seguinte quantas ele mostra as estatísticas daquele comete então ele mostra quantos arquivos foram modificados quantas inserções de linhas foram feitas quantas delações de linhas foram feitas depois a gente vai aprender a ver isso aqui em detalhes Tá mas é isso isso aqui é o comente é bem simples fazendo isso a gente acabou de inserir de fato uma modificação que a gente fez dentro do nosso repositório guit entendeu então na próxima aula a gente vai voltar a explorar mais Esse comando de komite tá agora a
gente vai praticar um pouco mais com os comitis para que você entenda completamente esse conceito de uma vez por todas vamos lá vamos supor que a gente acabou de iniciar o nosso projeto e tals a gente acabou de colocar o nosso projeto no Git nosso site e o nosso chefe chegou e falou assim ó é o cara que você faça agora é uma modificação que altera o título do site por exemplo E aí como é que a gente faz isso e como é que a gente adiciona essa modificação no Git é bem simples eu vou
abrir aqui o meu editor de código mais uma vez repetindo o que eu falei lá atrás você pode usar a linguagem que você quiser para fazer esse exemplo aqui ou senão você pode simplesmente só me seguir para não perder tempo tá então por exemplo eu vou adicionar aqui uma tag H1 para quem não sabe H1 vai criar um parágrafo no HTML Mas isso não importa nem um pouco pra gente tá é só para simular E aí eu vou eu vou definir aqui um novo sei lá um novo cabeçalho novo título do site que aparece pro
usuário então por exemplo eu vou colocar aqui é meu site por exemplo tá o melhor site da empresa 2.0 pronto fiz a minha modificação salvei como é que eu mando essa modificação para o Git primeiramente eu posso rodar o comando Deixa eu só limpar aqui o terminal rodando o comando CLS ou Clear E aí primeiramente eu posso rodar o comando gif status para sempre ver como é que tá a situação no meu projeto né perceba que quando eu tenho o comando gitstatus o que está mostrando um texto em vermelho e a mensagem que ele mostra
que é justamente o seguinte ó você modificou coisas mas você não subiu você não fez o convite disso tá aí agora você deve estar pensando tá agora que eu fiz uma modificação se eu quiser Salvar esse histórico que eu fiz essa modificação é só rodar o comando que te comente menos m e a mensagem né mudando o novo mudando o título mudando é título do site por exemplo Não não é porque porque é o seguinte você tá esquecendo de um pequeno detalhe eu vou apertar entre aqui e ele não deixou fazer o convite porque porque
é o seguinte você não pode pular etapas sempre que você for subir uma nova versão para o seu repositório Hit sempre que você for fazer o convite você precisa sempre antes pegar as modificações que você fez seja se é no arquivo que você já tá já colocou no repositório ou sem um arquivo novo você sempre precisa antes fazer o comando gics Ok e depois que você fizer o kit Edge você faz um vídeo comente Então olha só eu vou fazer um gif Ed ponto para ele é traquear todas as modificações que eu fiz Lembrando que
você pode também adicionar só um arquivo específico por exemplo eu tô pedindo para o Gui te adicionar só o arquivo site ponto HTML nessa nova versão que eu vou criar agora e eu posso colocar o ponto aqui para ele pegar todos os arquivos que foram modificados e colocar na área de Stage Então vou apertar entra ele já colocou todas as modificações na área de Stage na nossa área temporária vou digitar o kit status e tá aqui ó se tá verdinho tá tudo OK quer dizer que esse arquivo está na nossa área de Stage tá legal
agora eu posso simplesmente digitar aqui o nosso Git comete menos m e colocar né indicar qual modificação eu fiz então por exemplo eu fiz a modificação mudando o Hit do site por exemplo vou apertar entra e show de bola criamos o convite ele mostra o autor e ele mostra que um arquivo foi modificado e uma nova inserção de linha foi feita que foi justamente essa linha que a gente criou aqui né Legal vamos trabalhar mais com convite para a gente aprender e ficar fera eu vou criar aqui mais um arquivo Sei lá o nosso chefe
pediu para a gente criar uma segunda página do site chamada contato para caso alguém quiser entrar em contato com a empresa consiga E aí aqui eu vou colocar um H1 dizendo que essa aqui é a página de contato beleza perceba que eu não tô ligando nem um pouco para a estrutura do meu HTML tá então esse aqui não é um curso de academia por isso que tá todo bagunçado meu HTML aqui mas enfim Beleza então criei uma nova página como é que eu faço para adicionar esse cara no Git né eu posso como sempre voltar
aqui na minha linha de comando que está na minha pasta e digitar o comando do kit status para ele retornar para mim se tem coisa modificada tem no caso a gente acabou de criar esse novo arquivo E aí eu posso fazer um Git add ponto para adicionar todas as modificações na área temporária ou eu posso simplesmente especificar qual arquivo para colocar 99% das vezes você vai sempre usar isso aqui tá de ponto Então vou apertar e agora vou dar um status novamente só para a gente ver tá lembrando que o status é um comando completamente
opcional no fluxo de subir igualmente eu estou utilizando ele só para a gente ver o que é que tá acontecendo por trás dos panos tá então vou apertar entra e tá aqui ó ele mostrou que está verdinho quer dizer que a gente tá o kit já consegue enxergar esse cara mas esse cara ainda não está no nosso no nosso repositório porque a gente precisa rodar aqui o comando Git comete menos M E aí vamos descrever o que a gente fez aqui né adicionando página de contato E aí eu vou apertar enter pronto comente realizado legal
então é assim esse é o fluxo você vai fazendo modificações e vai subindo para o repositório kit comente menos M mensagem é só esses dois comandos que você vai usar 90% das vezes quando você for trabalhar com Git tá é só assistir os comandos Não tem segredo Ok fora esses dois comandos existem outros comandos importantíssimos Principalmente quando você vai trabalhar com brindes e merges que a gente vai ver mais para o final dessa aula mas assim a maior parte das vezes que você foi interagir você vai usar só esses dois comandos tá eu Acabei fechando
aqui meu CMD não tem problema vamos abrir aqui novamente o nosso repositório nosso projeto conceder E aí agora a gente vai aprender a trabalhar com comando bem legal que é o comando Git log que ele vai mostrar para a gente todo histórico do nosso repositório Gate e todas as versões que existem também então eu posso vir aqui no meu repositório e digitar o comando kit log dessa forma aqui apertar enter e aí ele vai me retornar basicamente todas as versões que existem do meu projeto o caso a gente tem três versões né que foram justamente
aqueles três comics que a gente fez é bom perceba que todo o convite ele tem esse código maluco aqui né que a gente chama de hash hash é basicamente um ID é um identificador único Universal então todo comente é identificado internamente pelo kit por esse reste aqui né então todo como a gente tem esse resto único que se a gente fosse fazer uma comparação era como se cada como estivesse um CPF por exemplo o CPF é único para cada pessoa né você quer o CPF do convite Se a gente fosse fazer uma analogia E aí
aqui nesse comando ele mostra o autor daquele convite a data que é muito importante e ele mostra também a descrição né e tem um detalhe muito importante aqui que é o seguinte perceba que aqui o kit ele tá mostrando Red né a cabeça quando você tiver quando você escutar esse termo red cabeça que que isso quer dizer o Red é basicamente como é que eu posso dizer é um ponteiro que aponta para qual em qual parte da linha do tempo do Git Você tá é isso certo então por exemplo aqui eu tenho várias versões então
desde a primeira versão no meu projeto que eu fiz o convite até a última que a gente fez agora a pouco se eu quiser voltar no tempo no Git para essa primeira versão eu consigo E se eu fizer isso se eu executar o comando que a gente vai aprender daqui a pouco que volta no tempo o meu red vai mudar para esse cara aqui o Red vai sair daqui e vem para cá porque o head é só uma forma do vídeo falar em qual parte da linha do tempo do teu do teu projeto você tá
tá é só um indicador mesmo que vai apontar em qual versão Você tá é só isso bem simples ok bom para a gente ver melhor aqui como é que esse esse comando gitlog se desenvolve eu vou fazer mais um convite né vamos supor que o nosso chefe chegou aqui falou para a gente colocar por exemplo a uma linha uma linha reta que a gente pode fazer isso no HTML com comando HR logo abaixo ali o cabeçalho e ele pediu para gente colocar um campo de e-mail por exemplo então por exemplo esse roter e-mail@ e-mail.com tá
aqui não importa muito para falar a verdade mas só para a gente ter uma noção então fiz uma modificação aqui numa página eu quero subir essa versão que eu acabei de fazer para o kit como é que eu faço isso a gente já tá cansado de saber mais uma vez eu fechando o meu CMD por impulso Então vamos lá Pronto digitar o comando CLS para limpar aqui e bom bem simples né ponto para adicionar todas as modificações na área temporária e Kit comete menos M adicionando campo de e-mail na página de contato e eu vou
apertar enter comente realizado vou rodar o comando CLS para limpar esse comandos não é do Git tá ele é do terminal do Windows E aí aqui eu vou rodar o comando bitlog e aparecer mais uma versão e perceba que o nosso Red mudou né Agora nosso rede ele tá aqui na última versão que a gente subiu né que a nossa versão atual que a gente está trabalhando tá na próxima aula eu vou te ensinar como como você pode fazer para voltar no tempo né utilizando o comando muito legal do GATE bom muita gente fala que
viagem no tempo não existe mas ela existe sim se chama Git checkout Então vamos entender esse comando agora Ok bom como é que funciona primeiramente tem algumas observações a respeito do kit checkout o kit checkout um comando que permite que a gente volte versões do nosso projeto tá então já vou executar ele aqui só para a gente ver como é que ele funciona vamos supor que eu quero voltar para essa versão aqui do projeto essa versão aqui ó Lembrando que você consegue ver as versões digitando o comando Git log vamos supor que eu quero voltar
para essa versão 2 esse segundo comente aqui como é que eu faço para voltar para ele eu copio os seis primeiros os seis primeiros ditos do id dele do resto dele ok copio vocês primeiros dessa forma aqui E aí eu digito o comando Git checkout e colo os seis primeiros dígitos se você não tiver conseguindo copiar digita na mão mesmo os seis primeiros dígitos do resto do convite que você quer voltar no meu caso é o 3c8e99 vai ser diferente para você tá então é muito muito importante que você Digite o comando de log e
você veja para qual versão você quer voltar e pegue aí os seus primeiros dígitos da versão que você quer voltar que nesse caso é essa aqui digitando Este comando eu vou apertar ainda voltei a versão tá se ele mostrou toda essa mensagem aqui para gente quer dizer que eu voltei a versão Então até que aqui embaixo ele fala o Red agora é esse aqui E aí se eu digitar o comando kit log Opa os meus convites sumiram Cadê os meus convites que ficaram né no futuro digamos assim é como eu vou ter a versão esses
convites ainda não existiam Nessa versão né então eles não aparecem aqui mas perceba que agora o Red do meu repositório tá apontando para essa minha versão aqui tá e eu não sei se você lembra mas nessa segunda versão não existia esse arquivo aqui né contato ponta HTML tanto é que o meu vs Gold ele tá mostrando aqui que esse arquivo não existe mais porque porque nessa segunda versão ele não existia mesmo ok se eu quiser voltar aqui para a primeira versão do meu projeto que não sei se você lembra mas a primeira vai ser no
meu projeto não tinha nem esse conteúdo aqui né eu posso fazer o quê guite checkout e digitar os seis primeiros dígitos da do convite que eu quero voltar que é esse primeiro aqui então 3761 ca só repetindo só repetindo lembre-se que esse código vai vai mudar para você vai mudar de versão para versão Enfim então é sempre bom você checar Qual o código do convite que você quer voltar através do comando Git Lock Então vou apertar enter aqui ó show de bola e aí a gente acabou de voltar para a primeira versão do nosso projeto
vou rodar aqui o kit logo de novo ó tá aqui ó a gente tá na primeira versão tanto é que ele tá mostrando só né um convite que é o da primeira versão se eu abrir aqui esse cara Sumiu o conteúdo do meu site né legal então eu voltei no tempo Como você viu eu voltei no tempo e aí tem algumas alguns pequenos detalhes a respeito do kit checkout que é o seguinte você jamais pode checkout caso tenha alguma modificação pendente Tá então vamos supor que você tá desenvolvendo um site E aí você passou o
dia inteiro trabalhando aí você não fez nenhum convite você não fez nenhum você não executou nenhum comando do Git você cria um monte de página nova e não executou nenhum comando do Git E aí por algum motivo você quer dar Git checkout para voltar no tempo não faça isso tá isso nem permitido é não é uma boa prática Não faça isso então sempre antes de você pensar em dar um Hit check out para voltar no tempo tá faça um processo de comiti não deixe nenhuma modificação pendente então ó é sempre bom ter em semente antes
de fazer o check-out roda um kit status vê se tem alguma coisa para subir se tiver alguma coisa para subir dá um Git add ponto aí depois dá um gitcomite aí só depois você ter certeza que não tem nenhuma modificação que ainda precisa subir para o repositório Aí sim você pode voltar no tempo tá daqui a pouco eu mostro um exemplo disso a outro detalhe muito importante a respeito do kit checkout é o seguinte checkout ele não é uma ferramenta para você ficar brincando de alterar o futuro tá então se você for voltar no tempo
no teu projeto respeite o futuro em qual sentido eu quero dizer isso eu quero dizer que você não pode fazer modificações tá você não pode por exemplo voltar no tempo alterar algum código e tentar fazer o convite isso vai dar m e m maiúsculo Não faça isso tá então big check-up é só um recurso do Git para você voltar no tempo você visualizar como era aquela versão daquele site antes de você fazer aquela modificação entendeu então só uma ferramenta do Git para você voltar no tempo para ver se por exemplo aconteceu algum acidente no último
convite eu quero voltar para o convite penúltimo por exemplo beleza entendeu serve o penúltimo Comic era o que o site estava funcionando porém no último comício o site tinha quebrado aí você consegue voltar no tempo e manter o site funcionando porque você voltou na versão ou do site estava funcionando OK só serve para isso o comando do kit checkout só para você realmente voltar na versão não serve para você voltar no tempo colocar uma modificação e criar um novo convite Não faça isso porque o Git checkout ele não é capaz de mudar o futuro entendeu
Ok então mas tem como se eu quiser voltar no tempo e adicionar uma modificação lá atrás e subir tem como fazer isso tem mas é uma gambiarra Danada se você tá precisando fazer isso quer dizer que tem algo muito errado no seu projeto e na forma como a empresa gerencia o repositório kit e algo tão avançado então necessário que eu não vou nem abordar aqui tá bom então qualquer dúvida deixe nos comentários para te responder eu sei que você quer um conceito um pouco mais complexo aí você fala tá Victor Já brinquei de voltar no
tempo show de bola Já brinquei de voltar no tempo é e se eu quiser voltar para o futuro agora voltar para o presente quer dizer voltar para o último convite que eu fiz mesmo a última versão do meu site por exemplo eu tô aqui na primeira versão do meu site se eu quiser voltar de volta para a última versão como é que eu faço isso bem simples é o seguinte eu dou um kit checkout master dessa forma aqui e aí eu vou apertar enter fazendo isso eu vou para a última versão do meu projeto tanto
aqui ó a partir do momento que eu executei Esse comando os arquivos voltaram tá vendo olha que legal se eu voltar se você acontece comando aqui ó ele vai voltar para a primeira versão você vai executar Esse comando aqui ele vai Voltar para última versão né Muito massa isso aqui né uma coisa muito importante é o seguinte o guitcher tá passando por uma mudança de nomenclatura do termo Master para Man então pode ser que dependendo do ano que você esteja vendo esse curso Pode ser que dependendo da empresa que você tá trabalhando Esse comando aqui
não funciona porque o print principal não se chama Master mas se chama Men Então se esse comando por algum motivo não funcionou para você você pode executar aqui ó o kit checkout Man dessa forma aqui tá nesse caso não funciona para mim porque eu não tenho nenhum brinde com esse nome Ok quando a gente tiver aprendendo a trabalhar com Brand daqui a pouco mais para frente eu eu vou te mostrar como renomear o Branch para seguir esse novo padrão tá é um novo padrão do Git o preenche padrão se chama Man Tá OK mas beleza
então se eu quiser voltar para versão atual do meu projeto ou Dong checkout Master ou um Hit checkout Man depende aí de qual vai funcionar na sua instalação do gif Ok então eu vou para a última versão do meu projeto E aí eu posso dar um kit logo aqui agora e aí ele vai mostrar para mim que eu estou na última versão realmente três convites à frente da primeira versão tá Bom agora deixa eu te mostrar aquilo que eu te falei de você não voltar no tempo quando tiver mudanças pendentes vamos supor que eu vou
colocar aqui uma mudança nova vamos supor que o chefe pediu para eu colocar um novo campo de texto para pessoa digitar o nome E aí eu fiz essa modificação só que eu não subi perceba que eu não executei nenhum comando do Git depois disso O que acontece se eu voltar no tempo eu vou voltar no tempo para primeira versão o kit não deixa exatamente aquilo que eu disse então se eu tiver qualquer modificação pendente não vai deixar eu voltar no tempo porque porque se o ritmo deixar só voltar no tempo isso significaria o quê eu
iria perder as minhas modificações que ainda não estão sendo traqueadas pelo Git Ok então Isso quer dizer que você quiser voltar no tempo eu tenho que dar um kit para ele traquear todas as modificações e fazer um gitcomite menos m para de fato inserir essas modificações no kit E aí eu posso fazer isso utilizando por exemplo colocar na mensagem adicionando campo de novo na página de contato vou apertar ainda comitê Agora sim se eu quiser voltar para a primeira versão se eu quiser voltar no tempo eu consigo show consegui se eu quiser voltar agora para
última versão para você bom nessa aula agora a gente vai começar a estudar um assunto que eu acredito ser fundamental quando você se trabalha com Gate na minha visão Essa é a habilidade mais importante com programador precisa ter com kit que é a habilidade de saber trabalhar com branches e comérgs porque porque essa habilidade ela é fundamental quando você trabalha em equipes com outros programadores e vamos ficar aqui entre nós por mais que seja superviável você trabalhar sozinho principalmente se você tá trabalhando num projeto pessoal se você é empreendedor se você é o único programador
de uma empresa ou se você tá fazendo freelancer a maior parte dos programadores a maior parte da realidade dos programadores vai ser trabalhar em equipe e quando você se trabalha em equipe quando você trabalha em equipe com o Git Existe uma forma que é mais aceita que é mais difundida desse trabalhar em equipe quer trabalhar em equipe utilizando branches e vamos ver esse aqui agora Primeiro vamos tentar entender o que é um brecht se eu vim aqui no meu repertório e eu digitar por exemplo o comando gitlog a gente vai conseguir ver aqui todo o
histórico de comics desde o primeiro até o último perceba que isso aqui está no formato de uma linha do tempo então aqui embaixo nós temos o comitch mais velho e aqui em cima o convite mais recente Ok então vamos fazer uma simulação aqui vamos supor que você tá começando um novo projeto um projeto qualquer aí e você faz seu primeiro convite vamos representar esse quadradinho aqui como um comente então aqui é o nosso primeiro comente legal aí depois você faz o seu segundo convite e aí vamos supor que você era o único programador da empresa
e aí você inicializou o projeto fez quatro comics só que no outro dia chegou um novo programador E aí o seu chefe pediu para você desenvolver uma funcionalidade nova e pediu para esse outro programador novato desenvolver outra funcionalidade diferente da sua que você tá criando aí deixa eu te fazer uma pequena pergunta qual é a forma certa que você acha que esses dois programadores têm que trabalhar eles têm que trabalhar aqui na mesma linha do tempo aí vai um fazendo um convite por cima do outro até dá para trabalhar assim tá Porém quando você começa
a votar vários programadores trabalhando em coisas diferentes na mesma linha do tempo do Git é pedir para dar confusão com dois até vai com três até vai tem que fazer isso numa equipe de sem programadores Imagina aí o sempre programador subindo commite toda hora papapapa pugt né Toda hora é porque a gente ainda não viu como trabalhar com repositórios remotos tá a gente ainda não viu como trabalhar com repositórios remotos e isso a gente vai ver daqui a pouco mas eu vou dar só uma noção para você do problema aqui se eu tô trabalhando em
um convite e o camarada sobe um convite na minha frente eu sou obrigado antes abaixar o convite dele na minha máquina para poder subir o meu calcule se eu tô trabalhando numa equipe de 200 programadores eu comecei a trabalhar de manhã no meu convite e aí o expediente tá acabando tô indo para casa vou subir o meu convite tem 50 convites na minha frente porque tá todo mundo trabalhando na mesma brecha aí você vai ter que baixar o 50 komix de todos os programadores que estão trabalhando na Linha do Tempo principal do Git para poder
subir o seu você falar mas isso não é nada demais qual é o problema disso O problema é que existe um assunto que a gente ainda não abordou no treinamento que se chama conflitos Então se por algum motivo algum programador mexendo o mesmo arquivo do que você do que você na mesma linha por exemplo e ele subiu o convite dele e você é obrigado a baixar o convite dele o gite vai entender como um conflito porque porque você mexeu na mesma linha do que o camarada mexeu e aí vai dar um conflito E aí cara
é uma dor nas costas para arrumar isso ok dependendo do conflito a gente ainda vai aprender a lidar com conflitos e tudo mais ok Principalmente quando a gente for trabalhar com repositórios remotos mas perceba que não é uma boa prática todo mundo trabalhar na Linha do Tempo principal do kit essa linha do tempo principal do kit ela se chama de Master ou daqui para frente para o futuro de mim Ok vai ser muito comum quando você for trabalhar em alguma empresa você vê o nome Master né porque são projetos antigos que usam essa brinde Master
Mas como eu já falei o Git está passando por uma mudança de nomenclatura então daqui para frente aqui para o futuro vai se chamar Man Ok então aqui no curso a gente vai trabalhar com o nome Man mas eu vou sempre fazer relembrar esse exemplo aqui então essa linha do tempo principal do Git ela se chama Master ou Man e essas linhas do tempo do kit são chamadas de branches aí chegamos no nosso termo elas são chamadas de branches braint em português significa galho Tá mas eu prefiro chamar de linha do tempo vai acho que
fica mais simples de entender então esse Branch essa linha do tempo ela além do tempo principal do Git O Legado que ele permite que a gente tenha outras linhas do tempo que coisa existem com a linha principal isso é muito legal e isso é um dos principais fatores facilitadores de trabalho em equipe No Git Ok então vou dar aqui um exemplo aqui é o dia que o programador novato chegou como eu te falei é uma péssima prática todo mundo trabalhar na mesma brecha Então o que é que o programador novato teria que fazer ele teria
que criaram uma nova brecht criar uma ramificação criar uma ramificação uma cópia do Estado atual do repositório que é o estado do convite 4 para uma linha do tempo que só ele vai trabalhar show legal E você também que vai trabalhar numa nova funcionalidade Teria que criar um brecht aqui também para trabalhar nessa nova funcionalidade então aqui é você e aqui é seu amigo tá todo Branch tem que derivar de algum comite então poderia criar um brecht a partir com 22 do 3 do 4 e por aí vai quando você cria um brecht você vai
copiar o exato mesmo estado do projeto naquele convite Então você vai criar uma cópia né É como se você tivesse criando uma cópia do projeto e colocando numa Linha do Tempo alternativa que só você vai mexer é isso entendeu então basicamente Nós criamos uma cópia do estado do projeto no convite 4 para você e para o seu amigo e aí vocês passam o dia inteiro trabalhando em Novas cometes ah adicionei uma linha nova você que não comente a é coloquei uma nova imagem você cria um convite aí o seu amigo aqui é fez o primeiro
convite dele eu não vou não vou detalhar a mensagem porque eu tô sem criatividade para achar uma mensagem mas o seu amigo ele começa a trabalhar nos convites dele tem programador que faz mais convite tem programador que faz menos não existe uma regra para isso de quanto convites você deve fazer e tal mas vamos supor que seu amigo que tava bem empolgado e qualquer linha que ele colocava no código Ele criava o convite tá então perceba que agora a gente tem três linhas de tempo a gente tem a linha do tempo principal a gente tem
a sua linha do tempo onde você onde você tá trabalhando na sua funcionalidade e seu amigo tem a linha do tempo dele legal a vantagem de trabalhar assim é qual é que quando seu amigo quiser subir algum comiti ele não vai precisar pegar nenhuma modificação que você fez ou seja vai reduzir para zero a chance de existir conflitos e de dar dor de cabeça tá isso aqui Pode parecer mais complicado pode parecer uma encheção de linguiça danada do Git Mas acredite se quiser isso aqui é um acelerador de produtividade isso vai evitar muita dor de
cabeça quando você tiver trabalhando em equipe porque cada um trabalha no seu cantinho sem afetar o outro legal show bom aí você fala tá desenvolvi aqui a minha funcionalidade né eu acabei de desenvolver minha funcionalidade meu amigo acabou de desenvolver também o que é que tem que acontecer aí que vem a parte mais complicada do processo por incrível que pareça que a parte de pegar as modificações que vocês fizeram o dia todinho em seus branches e colocar dentro do repositório principal através de uma ação de merj Então vou vir aqui ó tem uma repostar O
principal eu vou ter aqui o convite 5 que vai ser um merj do nosso camarada aqui ó então basicamente o seu amigo passou o dia inteiro trabalhando no final do dia ele fez um merge da frente dele para para frente principal com tudo que ele trabalhou foi jogado aqui dentro ok E você também fez a mesmíssima coisa só que isso aqui vai ser não comente seis porque cada mestre vai gerar uma ação de convite a gente vai ver isso daqui a pouco Então você fez um pouco mais tarde isso aqui por algum motivo sua funcionalidade
era mais complicado enfim E aí você acabou fazendo aqui outro mexe tá então legal perceba que agora A Linha do Tempo principal ela tá ela tá atualizada tanto com seu trabalho como com o trabalho do seu amigo uma coisa interessante sobre sobre as branches é que eu posso criar brenches de outras branches Olha que coisa interessante por algum motivo se eu quiser criar uma nova brecha A partir dessa minha brecha que eu já criei eu posso eu posso puxar uma linha do tempo alternativa aqui ó posso puxar uma linha do tempo alternativa A partir dessa
outra aqui e seguir minha vida posso fazer isso sim tá tranquilamente Sem problema nenhum aí agora vamos supor que a gente está no dia 2 no dia 2 do seu chefe pediu para você desenvolver uma nova coisa e pediu para o seu amigo novato também desenvolver Outra coisa o que é que tem que acontecer aqui você fala ah eu tenho que continuar trabalhando nessa minha brecha aqui você até pode porém não é recomendado que você faça isso tá a boa pratica mesmo utilizar em todas as empresas de alto nível é o quê cara sempre que
eu for desenvolver algo novo algo novo do zero né um trabalho novo do zero eu tenho que criar novamente a partir da brecha principal é isso tá então por exemplo lá meu chefe chegou para mim e falou ó eu quero que você desenvolva nova funcionalidade O que que você vai fazer você não vai trabalhar na sua frente antiga você vai criar uma nova brecha E aí começa uma nova linha do tempo só para você e aí quando necessário é só fazer a ação de merj quando for necessário é jogar as modificações que você fez para
abrir principal então em teoria é isso é mais ou menos assim que se desenha uma estrutura de um repositório guit OK pode parecer meio confuso no fluxograma Mas você vai entender que é mais simples do que parece é bem mais simples do que parece uma coisa interessante que também dá para fazer mas é menos como é o seguinte vamos supor que você começou a desenvolver aqui no dia 3 uma nova funcionalidade Então você puxou uma nova Branch ok só que você ficou doente e você precisa ficar afastado uma semana nessa uma semana o sistema teve
Nossa um monte de convite tipo um monte mesmo um montão eu não vou nem mudar os números aqui tá só para você ter um exemplo então durante a semana que você ficou doente o sistema teve um monte de convite só que tipo assim você já começou a trabalhar nessa brecha aqui você já começou a trabalhar nessa brecha aqui só que sua abrange ela foi feita em relação a um convite da semana passada mudou muita coisa no sistema então o que que você tem que fazer no caso como esse você pode por exemplo fazer um merj
que sai da frente principal para sua prancha E aí você vai atualizar sua Branch com os conteúdos da Branch principal perceba que anteriormente a gente estava fazendo o inverso né que era pegar o conteúdo desenvolvido na nossa abranche e jogar para principal Olha que a setinha tá olha a setinha a gente pegava o conteúdo da nossa abrange de jogar foi para a principal só que agora existe também a possibilidade de eu fazer o inverso Nada me impede de eu fazer o inverso de que caso eu tenho uma brecht muito dizes atualizada eu posso pegar a
minha Blanche principal e jogar na versão atualizada dela na minha brecha que eu tô desenvolvendo aqui posso fazer isso sim também ok então espero que essa aula teórica de branches tenha dado para você entender e compreender o conceito por favor qualquer dúvida deixe nos comentários e eu te vejo numa próxima agora vamos aprender como criar o nosso primeiro brinde para criar um brecht é bem simples basta você vir aqui e digitar kit prancha geralmente no nome do Branch você vai colocar o nome daquela funcionalidade que você tá trabalhando por exemplo se eu tiver trabalhando na
nova página eu vou colocar por exemplo página de serviços por favor não use espaços nem caracteres especiais como cedilha no nome dos branches e se você precisar represente espaços com o hífen então página de serviços é o nome da minha nova abrange porque eu vou começar a trabalhar numa funcionalidade de páginas de serviços por exemplo eu vou apertar entra e ele criou um novo brecht eu posso rodar o comando Git log para ele me mostrar em qual preenche eu estou tá ele tá me falando que atualmente eu estou no Branch Master que é o Branch
principal e aqui ele tá mostrando em qual convite nosso brecht página de serviço está que é nesse comente aqui eu vou apertar aqui para poder sair aqui do vídeo log Eu Posso rodar também o comando de status e ele vai me mostrar inclusive o comando de status além dele me mostrar se existe algo para ser comentado alguma modificação para ser inserida no repositório ele vai me mostrar em qual brinde eu tô no caso eu tô no brecht master E se eu quiser e se eu quiser mudar de prancha como é que eu faço ou você
tem que usar o comando kit checkout e o nome do branche que você quer mudar no caso eu quero mudar para o Branch que eu acabei de criar que é o brecht página de serviços vou apertar entra e perceba que ele mostrou aqui que eu mudei para esse brecht se eu rodar novamente o comando gif status ele vai me mostrar que agora eu estou no brecht página de serviços log ele vai me mostrar agora que o Branch atual que eu estou é o Branch página de serviços lembra que anteriormente alguns comandos atrás o Red tava
apontando para o Master porque a gente estava no master só que como agora a gente tá no página de serviços o nosso Red tá apontando para página de serviços esse Red setinha sempre vai indicar onde é que você tá exatamente na linha do tempo do vídeo né então esse head tá falando que a gente tá no último convite nessa Linha do Tempo página de serviços nesse prancha Ok E aí agora nessa linha do tempo eu posso começar a trabalhar na minha nova funcionalidade que a página de serviços então aqui eu vou criar um arquivo chamado
serviços sem cedilha mesmo ok E aí eu vou colocar aqui um cabeçalho chamado serviços só isso mesmo e E aí agora nesse brecht eu posso simplesmente fazer um kit add para ele adicionar esse arquivo no acionamento essas modificações que eu fiz e depois dá um gitcomite menos m é iniciando a página de serviços apertar entra pronto eu acabei de criar um convite no preenche página de serviços se eu rodar o Git log olha só que legal olha só que massa isso aqui ó o gitlog ele tá mostrando o seguinte que o red atual onde a
gente está atualmente É nesse convite no brecht página de serviços e olha que legal ao mesmo tempo que ele mostra onde a gente tá ele também vai mostrar onde é que o nosso Master está onde aqui a nossa outra brecht está que nesse caso está aqui nesse convite anterior né olha aqui bacana é agora eu vou voltar para minha brecht master Acabei fechando meu CMD aqui para variar né Sempre fecha esse cara acidentalmente deixa eu abrir ele novamente aqui bem rapidamente e aí vamos supor que eu queira voltar para branche Master só para simular que
a criação de outro brecha por exemplo primeiro primeira dica Sempre quando você for voltar de uma brecht para outra tenha certeza que você fez o convite de qualquer modificação pendente como a gente fez agora a pouco né agora pouco a gente acabou de criar um convite com as modificações que a gente fez a gente fez aqui a gente fez um processo de criação da página de serviços e após isso nós fizemos um convite no brecht página de serviço ou seja não existe nenhuma nenhuma modificação pendente se não tiver nenhuma modificação pendente de comente aí sim
eu posso voltar para o meu outro Branch tá então sempre tem semente guarde isso na sua cabeça não mude de pranchas quando existe modificações pendentes para você fazer convite Ok então faz sempre o Gui add antes um Git comete antes e aí sim você pode vir aqui fazer gite checkout E aí eu quero voltar para minha Branch principal então eu posso voltar para o meu brinde principal digitando o comando ou kit checkout master ou Git checkout Man só você ver qual que funciona para você nesse caso eu vou voltar para o meu preencher principal que
se chama Master vou apertar enter que check out Master agora vamos falar sobre um assunto bem importante que é um assunto de nomenclatura o Git daqui para frente daqui para o futuro tá mudando o nome padrão do Branch Master para mim então é recomendado que sempre que você for criar um repositório novo com Git você renomei esse brecht Master para mim caso ele já não venha com esse nome e como é que eu faço para renomear branches é bem simples você pode fazer gitbranch estando no brechó perceba que eu acabei de fazer check-out para esse
brecht estou nesse brecht então você pode dar um gitbranch menos m e dá o novo nome vou chamar de Man que é o novo padrão né vou apertar enter pronto renomeei se eu rodar aqui um Git gite status para ele me falar em qual Branch eu estou ele vai falar que agora eu estou no brechment então a gente renomeou para o novo padrão do Git só um adendo aqui só uma observação se você não é o desenvolvedor Sênior da sua empresa se você não é o gerente de projetos da sua empresa não faça isso que
eu fiz ok só é recomendado fazer isso em repositórios novos que você vai começar do zero se na empresa que você trabalha você já tem um repositório onde o nome do branche se chama Master mantém a Master não sei que o gerente de projeto ou desenvolvedor sênio Queira mudar mas principalmente Empresas Grandes que tem todo um sistema de que tem um sistema de Deploy automatizado mudar o nome do brecht significa provavelmente quebrar todo o fluxo Deploy da empresa Então você como programador Júnior ou pleno enfim não faça isso em projetos já existentes não renomeie o
seu Brandt se o projeto for novo como esse nosso aqui tá ok se for antigo nem toque isso significa o que significa que sempre quando você for trabalhar com comandos como Git checkout você vai ter que conferir se o Branch que o principal que você tá trabalhando se chama Master ou Man em outras empresas se chama por exemplo release em outras empresas se chama por exemplo Deploy então varia de empresa para empresa mas os nomes mais comuns que você vai achar vai ser Master e Man sendo o novo padrão Man daqui para o futuro e
o passado Master tá agora que a gente já fez o check-out para o nosso braint principal nosso preench-man Eu Posso rodar aqui o comando Git log e o que te log ó ele mostra que a gente agora está no nosso preenchimento vamos supor que a partir desse último convite do preench-man eu quero criar um novo Branch como é que eu posso fazer isso mas uma vez é só rodar o comando gitbranch e o nome do brench que eu quero criar vamos supor que agora eu tô eu tô no papel do outro programador e eu quero
desenvolver uma funcionalidade nova chamada página de galeria então aqui ó vou criar um novo brecht chamada página de galeria e aí eu vou apertar um kit check out página de galeria para ir até esse brecht Posso rodar o comando que te log e tá aqui ó agora o kit está indicando que a gente tá no brach página de galeria Vou digitar aqui para sair dessa página desse desse comando E aí eu vou criar aqui ó um novo um novo um novo arquivo né chamado galeria ponto html E aí eu vou criar aqui um cabeçalho chamada
chamado fotos por exemplo só para simular E aí fiz minha modificação nesse brech agora é só fazer um Git addit comente iniciando página de galeria e aí com esse com esse com esse Branch criado o programador pode começar a trabalhar na página de galeria tranquilamente sem se preocupar se outro programador vai atrapalhar os convites dele ou não né porque cada programador agora está trabalhando no seu branding separado como a gente exemplificou aqui nesse fluxograma agora perceba que coisa legal eu vou voltar para o meu Branch principal então eu vou fazer um Git checkout Man para
voltar para o Branch principal vou apertar enter voltei perceba que a partir do momento que eu voltei para o meu brinde principal sumiu o meu arquivo de galeria porque porque o arquivo de galeria Só existe na Linha do Tempo página de galeria se a gente não preenche página de galeria se eu voltar para essa linha do tempo através do kit checkout página de Galeria né Se eu mudar de brinde para esse brecht aqui aí a minha página de galeria existe nessa linha do tempo então ela volta aqui para o meu editor legal né Se eu
for para o Branch do outro programador que a gente fez inicialmente no início da aula eu posso fazer o quê kit checkout página de serviços né que foi o nome do Branch que eu criei o primeiro brand vou apertar entra e nesse Branch página de serviços não existe não existe a página de galeria porém existe a página de serviços então perceba que agora a gente acabou de criar dois ambientes isolados um programa do ar e outro para o programador B poder trabalhar no próximo tópico a gente vai aprender a como juntar essas duas linhas do
tempo tanto para uma doar como do programa do como do programa do B no brecht principal no brechmen ou master e a gente vai fazer isso com o conceito extremamente importante do Gui chamado merj então eu te vejo no próximo top tá agora vamos supor né que os dois programadores acabaram de desenvolver as suas funcionalidades em cada uma das suas brechas tá no final do expediente e agora é só mover é o que eles fizeram da frente deles para abrange principal a preench-man ou master como é que a gente faz isso a gente faz isso
utilizando um comando chamado merj Ok e como é que ele funciona o meji vamos supor que eu estou no papel do programador a que ficou responsável por desenvolver a página de serviços E aí eu queira fazer um merge dessa página de serviços na minha frente principal como é que eu faria isso principalmente eu tenho que estar na minha frente principal então vou ter que fazer um kit checkout e o nome da minha prancha principal que no meu caso é Man estando na minha frente principal eu posso fazer o comando Git merj página de serviços o
que que eu tô dizendo com esse comando eu tô dizendo que eu estou na minha frente principal e eu quero mesclar todo o conteúdo que existe na brench de serviços na minha Branch principal é isso vou apertar enter o que foi que ele fez aqui ele já fez um merge bem simples tanto é que agora se eu rodar o comando que de status você vai ver que eu estou na preenchimento e que a página de serviços apareceu aqui aquela página que só existia no no brecht página de serviços agora existe aqui no meu brecht principal
né então vamos supor que o programador a já finalizou o serviço dele já fez o merj principal Agora ele pode ir embora para casa porque o expediente acabou o programador B ele demorou um pouco mais de tempo e agora ele vai fazer por exemplo né a gente tá simulando o papel dele o Merry da brench dele para abranche principal vamos ver o que que acontece né se eu não me engano a breench dele era abrange página de galeria então eu vou só entrar nessa band só para ver o conteúdo dela página de galeria mudei de
frente tá aqui ó ele programador né que a gente tá simulando na nossa história ele estaria desenvolvendo esta página de galeria aqui E aí deixa eu voltar aqui para mim abrir principal se esse programador quisesse fazer o processo de margem entre o conteúdo que ele trabalhou na branche principal é só fazer esse processo ele tem que mudar para frente principal através desse comando aqui que checkout e o nome da brinde principal E aí agora é só rodar o comando de mej e o nome da brenge que eu quero fazer a mescla entre ela e abrir
principal que nesse caso é abrange página de galeria vou apertar enter pronto o merge foi realizado o merge foi realizado com sucesso e esse camarada apareceu aqui agora olha que legal olha que show de bola o meji foi feito agora tanto trabalho do programa doar como o trabalho do programador B está na brecha principal Ok então perceba que essa é uma forma muito mais limpa de se trabalhar em equipe Bom agora eu vou rodar o comando Git log ah e toda ação de Magic que você faz vai gerar aqui um convite por exemplo a gente
fez o mestre entre a página de galeria e Abras principal e ele criou aqui um convite automático né chamado Mag Brand então perceba que a ação de merge é bem simples é ela é bem simples quando não existe em conflitos tá e a gente vai aprender a lidar com conflitos mais para última parte desse vídeo deste curso é depois que a gente aprender a trabalhar com repositórios remotos no github porque é muito mais simples é exemplificar conflitos quando a gente trabalha com ferramentas remotas como o kit Hub Então é isso daqui para frente a gente
vai começar a trabalhar com o githup bom então agora que você já sabe como trabalhar com os fundamentos essenciais do GATE tá na hora da gente começar a explorar a nossa ferramenta remota github eu falei lá no início do treinamento mas eu vou repetir aqui o kit Hub é basicamente um serviço que usa o Git ele não tem uma ligação obrigatória com o kit então o kit Hub não é a mesma coisa do que Git o github é só um serviço que usa o Git e o principal serviço que o site edithub oferece é hospedagem
de repositórios Git durante todo o treinamento a gente está trabalhando com repositório local aqui nesse nosso meu site aqui né mas esse repositório ele só existe no meu computador ele não existe no computador de outros programadores que eventualmente vão trabalhar comigo se eu quiser disponibilizar esse repositório para outros programadores da minha equipe a forma disparadamente mais fácil é utilizar um serviço como github ou Git Lab ou Beat Bucket e hospedar o nosso repositório neles para que assim todo mundo da equipe tenha acesso então o primeiro passo é você criar uma conta no github.com se você
não tem só clicar aqui e criar a sua conta nesse caso eu já tenha Então já vou logar nela nesse caso quando você logo no github é essa visão que você tem e aí é bem simples utilizar o github vamos supor que o queira disponibilizar este meu site aqui em um repositório guit como é que eu faria isso é bem simples ó eu posso vir aqui no meu perfil no caso você vai no seu perfil aí E aí eu posso clicar aqui nesse sinal de mais e eu posso criar um novo repositório primeiramente Vamos criar
um repositório para poder subir esse repositório temporário que a gente criou então vou clicar aqui no repository E aí eu vou dar um nome o nome é um nome único então não pode ser repetido tá você não pode repetir o seu nome de repositório E aí eu vou dar aqui um nome único para ele que eu vou chamar de curso de guite guia do programador só isso no meu caso eu vou chamar assim você escolhe o nome para você aí tá lembrando que nesse nome de repositório não pode ter espaço não pode ter caracteres especiais
então é por isso que eu estou colocando o hífen no lugar do espaço aqui bom você pode colocar uma descrição para descrever um pouco o que é esse projeto que você tá fazendo nesse caso aqui eu vou colocar eu vou indicar que isso aqui é um repositório que exemplo para um curso de guite que eu estou produzindo legal E aí o repositório ele pode ser tanto privado como público por hora vamos trabalhar com repositórios públicos A grande diferença entre repositórios públicos e privados falando aqui a respeito do github é que os repositórios privados Só quem
pode interagir e enxergar eles são pessoas que você convida Ok então por exemplo vamos supor que você tá trabalhando por uma por um banco para uma instituição financeira e essa instituição financeira usa github Obviamente você não vai criar um repositório público com o código fonte desse banco porque acho esse lógicas de segurança então a maior parte gigantesca parte das empresas é quando vão trabalhar com código corporativo criam o repositório como privado e aí Convida os programadores né então só os programadores daquela empresa que conseguem enxergar esse repositório quando o repositório tá público todo mundo vai
conseguir ver tudo sobre esse código nesse caso vamos começar a trabalhar com repositório público não marca essa caixa aqui agora não precisa marcar mais nada aqui para falar a verdade ok E aí é só clicar em cliente repositor ele vai criar um repositor para gente e esse repositório atualmente ele tá vazio como você pode ver aqui e aí o que eu quero fazer com esse repositório agora é o seguinte eu quero pegar esses meus conteúdos que existem aqui esse repositório que a gente vem trabalhando durante todo o curso e eu quero simplesmente subir esses caras
para o meu kit Hub como é que eu faço isso é bem simples tenha certeza que o teu repositório que você criou esteja bem parecido com o meu tá Se tiver aparecendo qualquer coisa que é diferente aqui da minha a estrutura por exemplo se tiver mostrando outra tela para você diferente dessa aqui ou pouco semelhante pode ser que não dê certo esse processo que eu vou te mostrar então por isso que era muito importante você ter criado o repositório do jeito que eu criei ali com as exatas mesmas opções tá então cria um repositório vazio
que não tem nada aí o que que eu posso fazer eu vou abrir aqui o meu CMD vou navegar até minha pasta E aí dentro dessa pasta a gente vai executar um comando que o próprio github sugere para a gente aqui embaixo ó o kit Hub está falando para gente aqui duas opções se você quiser criar um novo repositório do zero use esses comandos se você quiser publicar um repositório que já existe use esse outro comando tá Inclusive é o próprio o próprio github ele já ele já vai tentar renomear automaticamente o brecht de Master
para mim né algo que a gente já fez anteriormente Ok então a gente já fez isso aqui anteriormente Esse comando então isso quer dizer que a gente pode pular ele então por exemplo eu vou copiar esse comando aí Copie o seu que tiver aparecendo aí porque a URL vai mudar para o seu repositório para o meu Ok copia essa URL E aí voltando aqui ó na linha de comando na parte da sua repositório cole essa URL o que seria essa essa esse código esse código é o seguinte kit remote add orange e o URL aqui
o que que significa que você está adicionando ao seu repositório uma versão remota dele a versão que vai ficar na web que todo mundo pode acessar é isso entendeu então com esse comando você tá falando assim ó Gate eu quero que a versão remota desse repositório fique nessa URL aqui entendeu então vou apertar enter show o kit já vai entender que a versão remota tem que ser essa só que a gente ainda precisa mandar os nossos dados para a versão remota e como é que a gente faz para mandar os nossos dados para versão remota
é bem simples é só copiar esse comando aqui ó esse último comando e colar aqui kit push push é basicamente empurrar né no contexto do que que seria enviar então basicamente a gente está enviando informações para a origem O que é Origin Orange é um nome bonito para que a galera do kit né a comunidade do Git tornou a convenção é um nome bonito para o repositório remoto principal é isso então basicamente com esse comando a gente tá falando olha aqui eu quero que você envie para o repositório remoto principal que foi esse que a
gente acabou de adicionar aqui em cima os conteúdos da brench Man Ok vou repetir aqui eu sei que está ficando chato mas eu vou repetir caso a sua abrange se chama Master você coloca aqui Master Ok no meu caso se chama Amém mesmo Amém eu espero que você tenha renomeado junto comigo e aí eu vou apertar entra e ele vai começar o processo de envio para E aí caso você nunca tenha logado com github no seu computador ele vai pedir para você logar Pode ser que aparece essa tela para você e pode ser que apareça
é opções para você logar aqui direto no terminal colocando o seu e-mail e sua senha Ok nesse meu caso como eu estou no Windows ele aparece essa janelinha bonitinha e aí eu posso clicar aqui ó em logar com o meu navegador para essa opção funcionar eu tenho que estar com kit Hub logado no meu navegador principal E aí eu vou clicar nessa opção E aí ó ele vai fazer a ligação direta com meu login do github e ele vai logo show então perceba que o processo aparentemente deu certo deu certo e aí se eu recarregar
essa página você vai ver que Opa Olha só que coisa legal pegou um repositório que só existe na nossa máquina e agora ele existe também na web remotamente E aí se algum outro programador quiser ter acesso a esse repositório seja aí no repositório privado ou público né mas vou repetir se o programador quiser ter acesso a esse repositório ele for privado você quer dando do repositório precisa adicionar o login dele vir aqui ó Cadê colaboradores E aí você pode mandar convites aqui para outros usuários do github para ele serem acesso Caso sua resposta história seja
um repositório privado tá voltando aqui vamos supor que eu sou um programador novo e eu queira pegar esse repositório que tá na web como é que eu faria isso é bem simples eu posso clicar aqui ó em code e eu posso Copiar esta URL aqui ó que o github Me fornece feito isso eu posso por exemplo criar uma nova pasta eu vou criar uma nova pasta aqui chamada exemplo vou chamar de meu site B né então a gente vai ter a pasta meu site e a pasta meu site B E aí eu vou abrir essa
outra pasta aqui no meu CMD só um minuto vou abrir essa outra pasta aqui no meu CMD E aí com essa pasta aberta eu vou fazer o seguinte eu vou digitar o comando Git Clone e eu vou colocar aqui uma url qualquer E aí aqui eu vou colar a URL que a gente acabou de copiar daqui ó desse menu o comando Já É bem intuitivo né ele vai clonar esse repositório que tá na web para minha máquina para dentro dessa pasta nova aí eu vou apertar enter e ele vai fazer Justamente esse processo de clonagem
né Agora dentro do meu site B eu tenho aqui ó o repositório que eu acabei de clonar tá então eu vou usar esse essas duas pastas aqui para a gente fazer uma simulação daqui para o final do curso o meu site vai ser a pasta do programador a vamos falar assim e o meu site B vai simular a pasta do programador B que Teoricamente de mentirinha está em outro computador só para a gente simular mais ou menos uma interação entre dois programadores trabalhando no mesmo repositório remoto bom de início eu acho que deu para ter
uma ideia de como githup funciona e na próxima aula a gente vai ver como subir pranches aqui para dentro do kit Hub Então é isso eu te vejo numa próxima ok vamos supor que você tá iniciando um novo dia de trabalho aí na sua empresa e o seu chefe pediu para você adicionar uma imagem na página de serviços Então o que é que você tem que fazer agora quando for necessário criar uma nova Fischer você precisa criar uma nova Brand né Então sempre que você for trabalhar algo novo você tem que criar uma nova abrange
então eu tô aqui na parte também o site que é a parte que vai simular o programa do ar né E aí nessa pasta aqui que eu vou fazer eu vou criar uma nova brecht brecht vou criar uma brecha que eu vou chamar de Nova Imagem na página serviços vou apertar enter criar nova abrange agora vou dar um check-out para essa Branch check-out nova imagem na página serviços beleza fiz isso posso começar a trabalhar agora posso começar o processo de codificação né codar então vou vir na página de serviços e vou adicionar essa imagem que
meu chefe pediu super difíceis esse trabalho aqui né Beleza fiz fiz o serviço agora o que é que eu preciso fazer bom eu quero que essa modificação que eu fiz aparece aqui no meu repositório remoto no github né como é que eu faria para isso acontecer bom é bem simples primeiro né Você já sabe Gui add para ele traquear a mudança que eu fiz depois que te comete menos M É adicionando nova imagem na página de serviços legal comente realizado eu posso até mesmo rodar o comando gitlog para ver o que acontece né E aí
ele tá me falando aqui o seguinte tá me falando que eu estou nesse convite aqui no brecht Nova Imagem na página serviços aí você fala não show de bola isso quer dizer que agora esse meu convite que eu fiz tá lá no github né tá lá no repositório remoto nana nina não tá perceba que aquele tá falando que a última atualização aconteceu há quatro horas só que eu acabei de mexer porque não tá aparecendo aqui no github é bem simples de entender o porquê não está aparecendo porque quando você tá trabalhando com repositórios remotos Não
é bem assim que funciona o fluxo não adianta Só você fazer um convite você precisa além de fazer o convite precisa rodar Esse comando aqui ó Git Plus e o nome é do branche que você quer subir né que nesse caso é o brecha e o nome do Branch que é o nova imagem na página serviços tá trabalhei nesse meu brech aqui fiz o comiche se eu quiser subir esse convite que eu acabei de fazer para o github eu tenho que rodar Esse comando que tipo Jorge e o nome do brecht que eu quero atualizar
lá no github vou apertar enter E aí deu certo se eu recarregar a minha página aqui ele ainda vai falar ó 4 horas foi 4 horas atrás que eu mexi no brecht principal porém se eu clicar aqui ó ele vai mostrar o nosso brinco que eu acabei de subir nova imagem na página de serviços vou clicar a gente está visualizando o print que eu acabei de subir a dois minutos atrás Nossa como passa rápido 2 minutos tudo bem Tá então vamos continuar fazendo mais modificações aqui aí o seu chefe pediu para você colocar outra imagem
você vai lá coloca outra imagem e aí agora você vai rodar novamente o comando que te add para traqueia as mudanças que te comente menos M adicionando uma nova imagem para fazer o convite e aí mais uma vez isso aqui não vai automaticamente para o github você precisa sempre rodar o comando push se você quiser manter o seu repositório o seu repositório local que tá na sua máquina sincronizado com repositório remoto que tá lá no kit Hub então tenho que rodar novamente o mesmo comando é guide atualize no principal repoustor remoto abrange nova imagem na
página de serviços vou apertar enter e falar ele atualizou vou até recarregar essa página olha só que legal olha o convite que a gente tá atualmente aqui ele falou que acabou de ser atualizado ou não agora porém E se eu quiser fazer um merj nova imagem na preench Man como é que eu faria isso bom não tem muito segredo né não muda muita coisa é só eu fazer aqui o check-out para nossa branche principal Então vou dar R um kit checkout Man fazendo Esse checkout eu posso rodar o comando é kit Mag e o nome
da brecha que eu quero inserir né Fazer o mestre para dentro da minha brecha principal que é abrange nova imagem na página serviços vou apertar enter opa deu um erro aqui porque eu digitei errado tá vendo aqui é PG não é og vou apertar enter e legal legal ele fez aqui o merj e ele tá falando aqui para mim ó que agora o meu repositório o meu preenchimento está nesse último convite aqui né que é adicionando uma nova imagem E aí para sair dessa página do Git log eu posso digitar aqui e apertar enter deixa
eu limpar o meu consola digitando o comando CLS E aí se eu quiser eu posso agora atualizar a minha brecht lá no kit Hub porque porque eu fiz o merj de desenvolvimento e me abrange bem porém isso ainda não foi para o github como você pode ver aqui ó não foi Ok se eu quiser que vá tem que rodar aquele comando só que um pouco diferente agora então kit push origem e o nome da prancha que eu quero atualizar nesse caso como eu fiz um Maggi da brenge desenvolvimento para preenche principal e a preenche principal
fama modificada abrange que eu tenho que atualizar e para dar ele subiu vou apertar Vou recarregar aqui ó o merge foi realizado Ah e só antes da gente finalizar esse tópico aqui perceba que o kit Hub ele tá me dando um aviso dizendo que a minha Blanche principal não está protegida a gente vai entrar nesse assunto aqui daqui a alguns tópicos onde eu vou falar sobre um recurso muito legal do github e de outras ferramentas de hospedagem do kit que se chama o request mas deixa esse tópico um pouco mais para o final Então você
finalmente aprendeu a como né subir modificações para para o github né se você parar para pensar a única coisa nova que você aprendeu assim que realmente vai mudar o seu rockflow é esse comando aqui né a gente puxar Origin é esse comando que você usa para pegar as coisas que estão no seu computador e jogar para o repositório remoto Porque sem ele sem esse comando o kit não vai fazer nada automaticamente ok tá então agora pô que eu sou o outro programador que está trabalhando aqui nessa pasta meu site B né vamos supor que você
quer outro computador só fingir Então vou navegar até essa parte então vamos supor que esse programador chegou um pouco mais tarde o que você no trabalho e o seu chefe pediu para ele começar a desenvolvendo mais uma nova página para o site da empresa que tá quase pronto que seria a página de login né se vocês vão começar a desenvolver uma parte de administrador nesse site Então vai ser necessário criar por exemplo uma página de login Então esse programador b a primeira coisa que ele tem que fazer de imediato lembre-se disso Ok sempre antes de
você for começar um trabalho não repositório it antes de você criar a sua brecha tenha certeza que você está na versão mais recente do seu repositório Ok por exemplo aqui eu vou digitar o comando Git log só tem um detalhe aqui que esse essa pasta aqui meu site B na verdade não é a página a página principal né a pasta principal é essa pasta aqui curso de Git então eu vou navegar até essa pasta porque é dentro dessa subpasta que tá de fato o meu projeto né bom então voltando eu vou digitar o comando kit
log e aqui a gente consegue ver em qual convite a gente tá ele tá me falando que o meu comicha atual é esse comente aqui que é o mestre da página de galeria porém como a gente bem lembra o último convite não foi esse último comente foi aquele convite que a gente fez um merge né há uma hora atrás aqui na minha linha do tempo porque eu dei uma pausa entre as aulas então há uma hora atrás eu tinha feito um convite que era de fato o último comente que era adicionando uma nova imagem o
comente que está aqui nessa pasta meu site B é um convite Bem antigo e isso pode gerar muitos problemas Quando você criar uma brente tentar fazer um meji tentar sobrepor repositório remoto então é muito importante que você sempre antes de começar a trabalhar Se você começar a criar uma nova Brand enfim você Rode o comando kit pum origem significa puxar né então você vai pegar as modificações que estão lá no repositório remoto e vai baixar na sua máquina então eu vou apertar entra e ele vai pegar tudo que tá lá na repositório remoto que o
programador a subiu né anteriormente nessa parte meu site e vai salvar aqui essas alterações nessa parte do meu site B tanto é que se eu abrir ela aqui agora deixa eu abrir essa pasta aqui você vai perceber o seguinte que agora na página de serviço a gente tem aquelas duas imagens que o programador a que a gente tá inventando aqui na nossa história colocou Ok então isso quer dizer o quê quer dizer que agora quando a rodar o comando gitlog é para eu estar na versão mais recente mesmo e realmente eu estou na versão mais
recente adicionando uma nova imagem Agora sim que eu estou na versão mais recente Agora sim eu posso criar uma nova brinde e começar a trabalhar tá então a dica é essa nunca se esqueça de antes de você criar uma nova brecha Se você começar a trabalhar sempre Rouge o comando que tipo hoje cria um hábito com isso porque isso vai te evitar uma quantidade absurda de dor de cabeça no futuro tá então você vai puxar aqui as atualizações e agora você pode criar sua frente vamos supor né que o chefe pediu para você criar o
sistema de login então aqui eu vou criar uma brecha chamada login Então vou apertar enter eu posso ir até essa Branch com o comando kit checkout login E aí nesta brinte aqui eu posso criar a nova página que a página de login pronto feito isso eu posso comentar então kit - m é iniciando a página de login apertar enter eu posso fazer mais coisas aqui por exemplo colocar uma linha colocar um parágrafo bem-vindo ao bem-vindo ADM por exemplo vou salvar e aí eu posso fazer aqui a outra adição posso fazer um outro convite colocando mensagem
de adm Agora que eu vi que ele tá me dando uma mensagem que eu não tenho nada para comentar porque porque eu acabei criando arquivo fora do repositório em si Então deixa eu arrastar esse arquivo para cá E aí deixa eu de fato criar aqui o Comet vou apertar entra e aí eu vou colocar só mais uma coisinha aqui para dizer que eu fiz alguma modificação Vou salvar e aí eu vou rodar o comando que te come menos m e aqui eu vou colocar adicionando E aí agora eu posso por exemplo é mandar os conteúdos
dessa Branch para o repositório remoto é porque se você parar para olhar aqui eu não tenho né Essa prancha aqui no repositório remoto a print login para fazer isso você já sabe né Que tipos de origem e o nome da brecha que eu quero subir que é o login por exemplo vou apertar enter e ele vai fazer o processo de push E aí eu posso recarregar aqui e aí se eu clicar aqui eu consigo ver a prancha de login criada legal show de bola e aí se eu quiser fazer um mej é bem simples né
É só fazer um kit checkout para o brecht principal que no meu caso é um man aqui nesse brecht principal eu posso rodar o comando kit Maggi e o nome do Branch que eu quero fazer o México é um brinde login e aí dessa forma eu estou pegando todo o conteúdo que existe no brainx de login e jogando no nosso Branch principal feito isso eu posso fazer um gift puxe origem para atualizar a minha preenchimento que eu acabei de fazer o meji com o repositor remoto e aí eu posso apertar entra e a gente vai
enviar essas modificações como você pode ver aqui seu recarregar agora a minha página você vai ver ó que ó último convite foi a um minuto né então legal a gente tá conseguindo trabalhar agora com repositor remoto no github aí agora vamos voltar lá para o programador a né vamos voltar lá para o programa do ar vou abrir aqui a pasta do programador a E aí eu vou rodar aqui um código que é o código get Opa top não terminou errado eu tenho um pouco de costume e usar o terminal do vs code Deixa Eu Voltar
para o terminal maior aqui e aí eu estou aqui na parte do programador a e aqui eu posso simplesmente rodar o comando kit log para ver exatamente qual é o status atual do meu projeto né como o programador a nessa pasta ainda não atualizou o projeto dele o último Comet dele foi esse aqui ó adicionando a nova imagem só que o último convite real que tá lá no repositório oficial ou remoto É esse aqui adicionando mais detalhes na página de login Então até que se eu abrir o versus aqui na pasta do programa do ar
Nem a página de login existe digitar aqui o comando Git Bull Origin para atualizar a parte de trabalho do programador a com os conteúdos repositório remoto crie o hábito de ficar usando o tipo tá crie o hábito Pronto agora minha pasta está atualizada eu posso trabalhar tranquilamente sem medo de dar nenhum problema tá aqui ó a página de login que o programador B tinha feito na frente dele tinha feito Maggi e subiu para o repostor remoto agora está na pasta do programador ah ok atualizadinho bonitinho Então tá vendo como o Git é legal Você consegue
ter duas pessoas trabalhando em coisas completamente diferentes só que não mesmo projeto Sem uma atrapalhar a outra isso é bem legal bem legal mesmo tá então é isso você aprendeu a trabalhar com apostas remotos ok É o Kit é bem isso o kit é bem isso mesmo que eu te mostrei e agora para encerrar o nosso treinamento a gente vai trabalhar com três conceitos para encerrar com chave de ouro nosso treinamento que são conflitos a gente vai aprender como resolver conflitos caso eles aconteçam a gente vai aprender a trabalhar com porreques que é uma forma
de organizar melhor os repositórios e a questão das permissões nos repositórios remotos e a gente também vai trabalhar com conceito bem legal do Git que é o Git Ignore tá então é isso eu espero que você esteja gostando e eu te vejo aí no próximo top Bom agora vamos falar de um assunto que assusta muitos iniciantes aí no Git que é a questão de resolução de conflitos assim é mais simples do que parece tá é muitos iniciantes do kit quando vem um conflito pela primeira vez Nossa morre de medo acham que o mundo acabou mas
deixa eu te falar uma coisa a questão de resolver conflitos no Kit passa mais pela comunicação do time como eles vão resolver aquele conflito do que pela ferramenta do giche em si resolver conflitos no Git é bem simples para falar a verdade ok então vamos vamos entender aqui como é que funciona essa situação nesse momento aqui nesse tópico sobre conflitos você não precisa Reproduzir todas as etapas que eu vou fazer aqui porque vai ser um trabalho meio que manual só para te mostrar como é que um conflito pode acontecer e como é que a gente
pode resolver esse conflito Ok então vamos começar bom eu vou começar abrindo outra cópia do vs code só que agora eu vou abrir esse meu site bem aqui E aí o que eu vou fazer aqui é uma coisa curiosa deixa só ver se meu OBS vai pegar pronto eu acho que assim tá legal tá vamos supor que o dia começou e aí o teu chefe cometer um erro de comunicação ele pediu para você e o seu companheiro programador B é fazerem exatamente a mesma coisa só que com conteúdos Diferentes né ele acabou viajando na maionese
e pediu para você fazer isso por exemplo vamos supor que teu chefe chegou para você falar ó Eu quero que você altere o nome da empresa do site da empresa de site da empresa 3.0 é e coloque um parágrafo abaixo e ele chegou para o seu amigo programador b e falou ó eu quero que você tire esse 2.0 aí é do título do site da empresa ele falou isso e ele pediu para o seu amigo colocar uma imagem abaixo do título então ele pediu para vocês mexerem na mesma coisa né ao mesmo tempo então Vocês
não conversaram né do tipo Cada um foi trabalhar focado E aí cada um começou a trabalhar no que foi solicitado né eu vou mexer aqui no [Música] terminal do próprio vs code só para simplificar você não precisa me seguir nesse momento Apenas observe Então vamos supor que o programa do B começou o dia fazendo certo Qual é o certo certo é rodar o comando que tipo Origin né para ver se tá tudo atualizado né se tá tudo atualizado o que te fala ali que tá tudo atualizado ele fala ali embaixo e aí o programa do
B começou a criar daqui uma nova brecha que eu vou chamar de tarefa tarefa programador Beleza então ele começou a mexer tá ele vai ele criou a prancha aí ele faz um kit checkout aqui para essa Branch tarefa programador B vou rodar o comando clear para limpar o terminal ou CLS E aí ele vai começar fazendo o que o chefe pediu para ele fazer que era tirar esse 2.0 aqui e colocar uma imagem aqui embaixo lindo só que ao mesmo tempo o programador a fez a mesma coisa ele chegou fez o certo quer rodar um
tipo Origin para ver se não tem nada para ele pegar tá tudo certinho depois disso ele criou novamente é tarefa programado lá depois disso ele fez check-out para essa brecha E aí Opa acho que eu acabei errando aqui o nome da brecha e aí feito isso eu vou rodar o comando clear para limpar o terminal E aí Tá todo mundo trabalhando aqui na Sua Ficha Ah uma coisa legal do vsco ele mostra em qual preenche eu tô tá escondido é completamente integrado ao Git então ele tá falando que nesse verso eu estou na br-tarefa programa
do b e nessa vs Cold eu estou na frente tarefa programa do ar tá então vamos lá é então o chefe pediu para você nesse caso aqui do programador a para ele renomear o site da empresa para site da empresa 3.0 colocar uma quebra de linha e colocar um parágrafo por exemplo legal E aí programador fez isso que aquilo vai fazer agora ele vai comentar né ele vai fazer um kit de ponto guit Comet - m a finalizando tarefa vai estar entre E aí o programador B ao mesmo tempo também fez isso eu percebi que
eu esqueci de rodar Esse comando aqui no vs code do programa do b Ah tá eu acabei digitando aqui o m com espaço para ver como vai ter nesse erro só que agora vamos dizer que o programador B ele foi mais rápido do que você e ele já subiu essas modificações para o repositório remoto então o que que ele vai fazer ele vai rodar o comando Git puxe Origin e o nome da prancha que ele tá que é a tarefa programador para poder atualizar essa brecha lá no repositório remoto legal ele criou essa Branch lá
agora ele vai fazer o quê ele vai dar um gift Parabéns principal E aí ele vai fazer um Git merj entre abrange principal e abrange tarefa programador B legal ele fez um mej e agora como ele foi mais rápido ele vai fazer um Git ele vai fazer um Git puxe origem Man então ele vai atualizar né o abrange principal com essa modificação que ele fez Então vai apertar e legal se a gente abrir o github a gente consegue ver o que que o último comite foi agorinha né então programador B já finalizou a tarefa dele
tá lindo tá show de bola só o que será que vai acontecer agora quando o programador conta para alguma doava tentar subir as modificações dele vamos ver eu vou fazer um kit checkout Man para ir para E aí eu vou atualizar bens principal tá porque além de você disser uma boa prática você atualizar abrange principal Sempre quando você vai criar uma nova ficha uma nova ferramenta uma nova né uma nova funcionalidade é importante também você sempre atualizar a frente principal antes de você fazer um merge Ok então que tipo origem Man então eu tô falando
para o vídeo que eu quero atualizar a minha Branch principal Então me abrir alguns conteúdos que o programador B modificou como você pode ver só que agora eu vou fazer o seguinte eu vou dar um kit Maggi entre essa minha brecha principal e abrange tarefa programador ih rapaz olha só o que aconteceu Olha que coisa cara o que te falou assim ó Opa achei conflitos não sei o que fazer tá existe alguns tipos de conflitos mais simples que o Git resolve automaticamente e existem outros como esse aqui onde obviamente dois programadores Mexeram na mesma linha
ao mesmo tempo e o bicho não sabe resolver o que a gente não sabe qual das duas versões escolher tá inclusive o vsco hoje é legal para trabalhar com kit porque quando dá algum conflito ele bota aqui ó ele já ele tem esses botãozinhos aqui que já simplifica muito a questão de resolução de conflitos Mas vamos ignorar esses botões tá tá aí você fala tá chegou deu esse erro O que que significa isso aqui é bem simples de entender tá perceba que essa parte de cima tá separada da parte de baixo através desse símbolo aqui
né o capim quer dizer quer dizer o Red quer dizer que é o estado atual então atualmente na minha frente o conteúdo que tem é esse tá então tudo que está contido entre esse símbolo aqui e este cara aqui quer dizer que é o conteúdo atual que existe ali na frente principal e tudo que está contido entre esse símbolo e esse outro símbolo aqui significa que é o que o conteúdo que está vindo da minha branche para minha Branch principal é isso entendeu então atualmente tá assim e eu quero que fique assim só que o
chefe pediu para o programador B que ficasse assim e pediu para mim que ficasse assim como é que eu resolvi esse conflito perceba que esse conflito ele vai além do kit Eu preciso chegar no meu chefe chamar o meu chefe chamar o programador b e falar e aí foi o que aconteceu aqui como é que a gente resolve isso E aí essas três pessoas em consenso vão ter que decidir qual dessas duas versões é a melhor se as duas devem coexistir se uma deve subscrever a outra se nenhuma das duas está certa Enfim vocês vão
debater e vamos ver o que tá certo que tá errado tá nesse caso vamos supor que programadores debateram e o chefe falou é a versão aqui no camarada aqui debaixo tá certa não é a sua não eu acabei viajando como é que eu resolvo isso é bem simples isso aqui é um editor de texto então se eu quiser resolver um conflito eu adoro assim os iniciantes Eles olham para isso aqui já Ficam super assustados Mas se você quiser resolver o conflito é bem simples aqui ó tem um editor de texto aqui eu posso simplesmente apagar
a parte que eu não quero pronto resolvi resolvi o conflito só isso é só isso resolveu o conflito agora que eu resolvi o conflito eu posso fazer um kit additcomit menos M resolvendo conflito apertar enter conflito resolvido agora eu posso subir isso por repositório remoto eu posso fazer um gif original Man para atualizar aparentemente lá na resposta remoto com conflito resolvido vou apertar enter e olha só que legal aqui ó último convite é justamente esse resolvendo conflito aí uma coisa bem legal do Git do github quer dizer é que se eu quiser ver todos os
Comics eu posso clicar aqui no título do último convite e eu consigo ver por exemplo as modificações que esse convite realizou tá vendo a gente consegue ver quais linhas foram removidas em vermelho e quais linhas foram adicionadas em verde tá então eu consigo ver os detalhes de cada convite assim ó se eu clicar aqui ó no número de convites eu consigo ver todo o histórico de comets e eu consigo clicar em qualquer convite e ver exatamente o que foi adicionado removido deles né Se isso for útil para você então é isso é assim que se
resolve conflito no kit sabe não é muito difícil é bem simples como você viu para falar a verdade porém o ideal é que vocês tentem evitar o máximo conflito tá se você tá trabalhando no ambiente de trabalho que sei lá acontecem muitos conflitos por dia e conflitos grandes porque assim os conflitos nem sempre vão ser conflitos de três linhas podem ser conflitos de 30 linhas 20 linhas e aí se você tá trabalhando no ambiente de trabalho onde está tendo conflito todos os dias sei lá você resolve uns 10 conflitos por dias por dia isso quer
dizer o quê quer dizer que a culpa do Git Não não é culpa do Git É culpa da organização de como vocês vocês estão trabalhando em conjunto tá então conflitos são comuns já acontecerem porém Se tiverem acontecendo em excesso quer dizer que tem algo errado aí na organização na delegação de tarefas da empresa OK então é isso na próxima aula a gente vai aprender a trabalhar com um conceito bem legal do github e de outros softwares de hospedagem kit que é o conceito de bom então agora a gente vai aprender a trabalhar com um padrão
bem interessante que existe no github e ferramentas semelhantes ao github que é um padrão chamado por request que é uma forma de dar uma segurança maior ao seu repositório Git e Que organizar também a questão do trabalho em equipe o que seria o povo requestion por request é uma espécie de regra que você cria que que é um merge só aconteça caso antes alguém revise as alterações que se mede vai causar no brecht principal vou dar um exemplo vamos supor que você tá numa empresa que tem 200 programadores e aí é o primeiro dia de
um programador novato E aí ele não sabe direito como é que funciona o sistema da empresa ele vai lá cria um novo Brandt e acaba programando uma funcionalidade de defeituosa né Coitada tava todo nervoso que acabou fazendo isso acontece E aí ele acabou fazendo um merge entre essa Branch dele com o código defeituoso e abrange principal do projeto que é justamente abrange que fica no servidor do projeto Onde ele fica hospedado que os usuários do software acessam E aí quebrou quebrou o software esse esse médico que ele fez né E isso poderia ter sido evitado
se dentro desse repositório existe um mecanismo de por request em que caso esse programador quisesse fazer um merj entre o branche dele e o Branch principal antes alguém teria que fazer a review né Desse mej para permitir ou não permitir ele então é justamente isso que é uma Quest e para trabalhar com porrequest a gente precisa primeiro configurar ela no nosso repositório para fazer isso é bem simples você pode vir aqui em settings no repositório caso você caso você seja o dono dele né obviamente E aí você vai vir aqui em branches e aqui você
vai clicar aqui ó Nessa opção adicionar uma regra de proteção de Branch clicando aqui você pode marcar essa caixa aqui ó que é requerido que a pessoa cria um por request antes de fazer um Mage E aí você consegue ver aqui ó quantas aprovações esse por recorde precisa ter para passar eu já trabalhei empresas que precisam de três aprovações então por exemplo teriam que ter três programadores mais experientes revisando meu por request para provar ele ou não e aqui em padrão de nome eu sugiro que você coloca um asterisco para representar todos os bens do
seu projeto todos aqueles que já existem e que ainda vão existir Então beleza feito isso é só clicar aqui em apoio save Changes show de bola a gente pode começar a trabalhar com por request agora então para dar um exemplo de como trabalhar com porrequest eu vou abrir aqui o exemplo aqui do programa do ar eu vou criar uma nova Branch e eu vou subir essa Branch pro github para depois a gente fazer um por request Então vamos lá ver isso então vou começar rodando aqui o comando de tipo orgin para ver se não tem
nada para atualizar feito eu vou fazer aqui um brech novo então deixa deixa só confirmar se eu estou aqui no branche a principal Tô sim já estou no Branch principal E aí eu vou rodar aqui um comando que é o comando para criar um novo Branch que eu vou chamar de exemplo o exemplo PR né exemplo por request né é a sigla que a galera usa para por request a sigla PR Beleza agora vou mudar para frente triste checkout Git checkout exemplo PR E aí aqui dentro desse Branch o que que eu vou fazer eu
vou fazer alguma modificação no código e vou subir esse brecht para o Git nesse caso o github né OK então vou fazer essa modificação aqui vou criar aqui um novo arquivo que eu vou chamar de admin.html que vai representar por exemplo o painel de admin fiz a minha modificação aqui vou comentar essa modificação então o guit addit komit - m criando página xadre de mim e aí eu vou fazer agora o seguinte eu vou fazer um gift Punch para o repositório remoto o brecht exemplo PR Então vou subir o meu brech para o repositório remoto
e aí feito isso eu posso recarregar aqui ó meu repositor remoto e aí tá aqui o meu brechó exemplo PR agora se eu quiser mandar esse Branch para o para o abrange principal aparentemente eu preciso abrir um por request como é que eu abro um pouco Quest eu posso simplesmente clicar nesse botão aqui para ir mais rápido ou posso vir aqui empurra quests E aí aqui eu posso escolher é para qual preenche eu quero mandar o meu por request né então assim eu quero mandar da brecha exemplo para a brinde principal essa setinha aqui apontando
né para Brant principal Ok então em vez de você agora tem que fazer o merginal na mão aqui no na linha de comando como a gente estava fazendo anteriormente e só assim subindo para o github a forma mais certa a melhor prática que você vai achar em empresas é abrir um pr dessa forma aqui e aí no próprio PR ele vai falar o que é que muda tá então ele vai falar aqui embaixo ó se eu tiver jogando as modificações dessa Branch para essa outra brecha aqui o que que vai mudar ele mostra aqui ó
nesse caso eu estou adicionando um novo arquivo chamado admin.html se tiver linhas removidas aqui ele vai mostrar se tiver mais de um arquivo adicionado ou removido nesse Mage ele vai mostrar também ok E aí escolhendo essa opção aqui é só clicar em cliente por request E aí você pode descrevendo por request o que é que você tá fazendo né O que é que esse povo request vai aplicar na brecha principal e você pode colocar um título e colocar assim ah adicionando a nova página de admin no sistema E aí você pode setar outras opções aqui
porque eu não vou entrar em detalhes porque elas são completamente opcionais E aí a gente pode criar o request E aí o legal de fazer por request é que se der qualquer conflito ele já vai avisar antes de fazer o merj isso é muito massa tá nas empresas que eu trabalhei para este consultoria isso evitava muito dor de cabeça porque antes de você pensar em fazer um nerd o request já já avisava ó talvez se você fizer esse por request pode dar conflito com isso e isso que já tá ali e aí você já resolveu
o conflito aqui mesmo na interface do github é bem massa essa essa questão de de por request só que como só tem eu no meu projeto Eu precisaria de outra pessoa que tivesse a permissão de aprovar por request para aprovar a minha por request tá então por exemplo se eu fosse o programador sênio de uma empresa e um programador Júnior vinhesse e abrisse um por request eu veria essa mesma tela e teria um botão para eu aprovar aqui ou recusar nesse caso como eu sou o próprio dono do request eu não consigo ele então ele
vai ficar parado aqui para sempre até eu adicionar outra pessoa que possa ser responsável por aprovar esse por request porém como eu sou o dono do repositório eu posso clicar nessa opção aqui que é para eu simplesmente pular esse requisito de precisar ter outra pessoa aprovando para mim já que eu sou o dono responsável principal por esse repositório eu posso simplesmente pular essa parte da revisão e clicar aqui ó confirme mercha E aí ele vai fazer um mestre Pronto ele fez o México é quando o request tá tá com esse status mexe quer dizer que
ele foi concluído então quando você for trabalhar numa empresa vai ser com quase toda certeza vai ser esse padrão que você vai encontrar você não pode fazer um RG direto na abrange principal você tem que abrir um pouco request então é por isso que eu tô te ensinando a trabalhar com porrequetes tá agora vamos falar sobre outro recurso muito legal do github e esse recurso aqui é bem específico do Beach Hub muito pela natureza dele ter muito essa cultura de código aberto que é o recurso de Foque o foco é basicamente você criar uma cópia
de algum repositório só para você só na sua conta Olha só eu vou dar um exemplo vamos supor que eu queira por exemplo criar uma versão de algum projeto Open Stories algum projeto de código fonte aberto só para mim então eu posso vir aqui nesse projeto por exemplo vou pegar agogô Agudo para quem não sabe é uma ferramenta para criação de jogos de código aberto bem legalzinha E aí vamos supor que eu queria criar minha própria versão da Godô sei lá eu não tô satisfeito com o andamento do projeto deles eu quero criar minha própria
versão então eu posso simplesmente começar fazendo a seguinte clicando nesse botão aqui ó forte fazendo isso eu vou criar uma cópia de todo o projeto todo histórico salvo no Git inclusive esse projeto tem 53 mil komix legal então eu consigo ver todo o histórico de desenvolvimento dele ele tem 11 pranchas E aí quando eu fizer o forte eu vou pegar todo esse histórico desse projeto criar uma cópia só minha na minha conta então Ó vou clicar em foco e aqui ó ele vai criar um repositório com o nome godou na minha conta e aí eu
vou clicar em cliente isso aqui é outro recurso muito legal do github assim é sensacional esse recurso né agora eu tenho um exato o mesmo projeto é exatamente a mesma ferramenta de criação de jogos só que na minha conta eu posso trabalhar livremente agora nesse projeto nesse repositório sem afetar o desenvolvimento né dos caras lá no repositório oficial deles então foque É como se você tivesse pegando um pedacinho daquela tecnologia para você né vou fazer a mesma coisa com Linux também ó código fonte do Linux eu vou criar uma cópia do código fonte do Linux
para minha máquina quem dera eu tiver essa habilidade ser mais mais para trabalhar com sistemas operacionais mas vou clicar aqui ó criar uma cópia do Linux só para minha conta se eu quiser criar um Linux customizado para mim eu consigo agora legal então assim é muito massa esse recurso do Git né bom no próximo tópico a gente vai sair um pouco da questão do github e a gente vai aprender a Como trabalhar com um carinha chamado Git Ignore Então é isso eu te vejo numa próxima Quest Então é isso eu te vejo numa próxima tá
então só para a gente encerrar aqui com chave de ouro nosso treinamento eu vou te passar aqui um comando bem legal comando não né um recurso bem legal do kit que é o recurso Git Ignore cara é um recurso sensacional do Git que vai permitir que você faça com que o guite Ignore certo os tipos de arquivos e pastas que existem dentro de um projeto isso é mais útil do que você pensa tá então vamos lá vamos começar é o seguinte primeiramente eu vou dar um exemplo na minha realidade que é trabalhando com nude que
aquela biblioteca aquele interpretador JavaScript quase comentam blasfêmia aqui chamado note de biblioteca mas tudo bem é um interpretador JavaScript bem Popular para desenvolver back end com JavaScript e também ele é usado para baixar algumas bibliotecas quando você trabalha com freio mortos Como react e coisas do tipo é muito comum em projetos que usam note de alguma forma você ter todas as bibliotecas baixadas numa pasta chamada node mothers Ok E aí dentro dessa pasta é muito comum você ter um monte de biblioteca Só que tem um baita de um problema tá você não precisa ficar subindo
essas bibliotecas do novo de modus que ficam dentro dessa pasta temporária digamos assim para o repositório Git não precisa tá porque o nojo Ele trabalha com um carinha que gerencias pacotes automaticamente e aí você não precisa ficar subindo as versões das bibliotecas baixadas já né dessa baixa repositório até porque algumas bibliotecas mudam a instalação dependendo do sistema operacional e da máquina que o cara tá utilizando então por exemplo existe algumas bibliotecas específicas do node Onde por exemplo se eu trabalho no Windows essa mesma biblioteca essa mesma instalação dessa biblioteca não vai funcionar na máquina de
um companheiro meu que trabalha com Linux por exemplo entendeu ele vai ter que fazer outra instalação dessa mesma biblioteca E aí acaba que essa é meio relevante você ficar subindo essa parte de moldes E ela é bem pesada e aí o Git tem um recurso que ajuda você a ignorar coisas desse tipo que é um arquivo chamado ponto g-te Ignore você pode criar na raiz do seu repositório na pasta raiz né do seu projeto você cria aqui ó esse arquivo nesse formato ponto GTI ignore o ideal é você criar ele no início do seu projeto
tá bom pelo amor de deus eu sei que eu tô ensinando ele é esse conceito no fim eu até eu achei que eu tivesse escrito errado o nome mas tá certo é eu sei que eu tô ensinando no fim do curso esse conceito mas quando você for trabalhar com repositório pelo amor de Deus cria Logo no início Ignore Tá bom eu não quis falar sobre ele lá no início do curso porque você já tinha muita coisa para entender no início do curso isso aqui seria só mais uma coisa para te atrapalhar tá eu preferia apresentar
ele no início no fim do curso depois que você já tem entendido tudo sobre Git Aí sim você entendeu o Git Ignore até porque ele é bem simples Então vamos supor que eu quero ignorar essa pastas o que que eu posso fazer eu posso simplesmente colocar aqui ó numa linha para ele ignorar essa pasta e aí quando eu fizer um convite qualquer coisa essa pasta vai ser simplesmente ignorada pelo Git essa pasta não vai subir para o meu repositório Ok se eu quiser por exemplo por exemplo vamos supor que nesse meu repositório eu tenho alguns
arquivos de anotação que só fazem sentido para mim só para mim não fazem sentido para outros programadores da equipe por exemplo por exemplo tem um arquivo aqui que eu fico anotando certos requisitos que o chefe me pede eu posso ignorar esse arquivo como vindo aqui fazendo assim ó em Tex pontos TXT na linha abaixo e aí o kit vai passar a ignorar esse cara veja que até o vs code nos ajuda a ver isso ele mostra que esse cara aqui ó tá cinza quer dizer que o gif vai ignorar ele ok uma coisa legal também
do que te ignora que eu consegui ignorar todos os arquivos que tem uma determinada extensão Então vamos supor que eu tô trabalhando com a linguagem tipo fechar que ele gera certos arquivos binários compilados temporários que não é interessante subir esses caras para o Git então eu posso ser simplesmente fazer isso aqui no C sharpion É asterisco ponto obj e aí eu vou ignorar todos os arquivos que tem a extensão ponto obj né se por algum motivo doido quiser ignorar todos os arquivos que tem a extensão HTML eu posso fazer assim ó asterisco ponto HTML e
aí eu vou ignorar todos os arquivos que tem a extensão ponto HTML obviamente não é nem um pouco inteligente a fazer isso aqui porque bom todo meu projeto em HTML fazendo isso aqui eu vou ignorar todo o meu projeto Então é assim que funciona essa funcionalidade de Ignore tá então lembre sempre de colocar ela bem no início do seu projeto e de Ignorar as faixas temporárias do seu projeto que não fazem sentido de estar no Git não faz sentido de serem versionadas ok vou dar outro exemplo aqui na minha realidade eu trabalho com Unity E
aí onde gera para cada personagem que você vai adicionar no seu jogo para cada item que você cria nesse jogo aí onde além do arquivo desse item além do arquivo desse personagem cria um arquivo temporário chamado meta se eu quisesse ignorar esse arquivo eu poderia fazer isso aqui ó Ignore todos os arquivos que tem a extensão ponto metro né então é isso era só isso que eu tinha para te mostrar aqui agora é bem simples esse conceito né e a gente pode ir para o encerramento do nosso treinamento que é o seguinte é eu te
garanto que tudo que você aprendeu aqui no treinamento desde o início até agorinha vai ser 99% das coisas que você vai utilizar no seu dia a dia como profissional que usa Git tá É sério Parece até brincadeira mas é a verdade o que se resume bem a isso que eu te mostrei durante essas horas aqui ok porém existe alguns conceitos mais avançados que se você quiser procurar você pode eu não abordei aqui porque eles são bem avançados eu acho completamente assim pouquíssimas pessoas usam isso aqui certo só em projetos bem maiores mesmo que você vai
ver isso e se você realmente quiser se aprofundar no Git eu vou te guiar para quais assuntos a mais você pode estudar ok A partir dessa aula aqui só que eles são completamente opcionais com tudo que eu te passei aqui durante esse curso você já consegue atuar tranquilamente com o Git Então vamos lá primeiro conceito que eu acho bem legal em projetos em projetos enormes é o Git submodios que é uma prática de você ter um repositório guit dentro de outro é mais ou menos isso em projetos enormes eles usam às vezes esse camarada aqui
E esse cara dá uma dor de cabeça danada dá uma dor de cabeça danada como programador Júnior e pleno raramente você vai ter que mexer com isso é mais coisa de Senior mesmo em projetos grandes Mas se você quiser estudar para se aprofundar mesmo em Git dá uma olhada nesse cara outro assunto bem legal que você pode estudar em get é o githibase isso aqui é arriscado e muitas vezes desnecessário Ok é um comando que ele pode substituir o merj Em algumas ocasiões bem específicas é por isso que eu não abordei ela aqui porque ela
é muito específico e tem os seus riscos então se você quiser dar uma pesquisada sobre esse comando também é uma boa mas eu não sugiro que você queira usar muito ele se você tá usando muito rebase não tem quer dizer que tem algo errado aí no seu projeto tá eu desço comando é sério é tão trauma com ele já é uma dica uma coisa que eu realmente você o que eu realmente recomendo você fazer é você estudar mais sobre resolução de conflitos dá uma praticada nesse assunto aqui eu acho que desses três assuntos aqui o
mais importante é esse aqui tá esses aqui são muito específicos e esse assunto aqui ele é de fato acho assim que se você quiser estender o conhecimento que você aprendeu nesse treinamento é você praticar um pouco a questão de resolução de conflitos Ok e é isso o bit se resume a isso qualquer treinamento maluco que você pega cara eu vejo um treinamento maluco cara de 8 13 15 horas de vídeo que olha assim não é possível mano não é possível tá ligado e tipo assim tudo isso que eu te ensinei é o que você vai
usar 99% do tempo no Git tá 99% te garanto e eu espero que você tenha gostado desse treinamento tá qualquer dúvida deixa aí nos comentários e Se gostou cara dá um like aí pelo amor de Deus né são quase três horas de conteúdo gratuito na real nem sei quantas horas vai dar mas acho que vai dar próximo disso e eu agradeço muito pela sua audiência sério parabéns por ter chegado até o fim não é todo mundo que chega até o fim não treinamento como esse e eu espero te ver crescendo na tua carreira profissional então
é isso eu te vejo na próxima oportunidade
Related Videos
Tibia em Javascript EP.13 (Movimentação na Diagonal) personagem agora anda em todas direções
34:36
Tibia em Javascript EP.13 (Movimentação na...
portzdev
59 views
Como Trabalhar em Equipe ou Colaborar para um projeto Open-Soure no GitHub
16:32
Como Trabalhar em Equipe ou Colaborar para...
Jovem Code
10,445 views
03 - OOPs Static Keyword
13:24
03 - OOPs Static Keyword
DevAlgo
8 views
Entendendo GIT | (não é um tutorial!)
1:03:35
Entendendo GIT | (não é um tutorial!)
Fabio Akita
292,702 views
Curso de Git e Github COMPLETO 2023 [Iniciantes] + Desafios + Muita Prática
49:59
Curso de Git e Github COMPLETO 2023 [Inici...
Dev Aprender | Jhonatan de Souza
317,321 views
A Tierlist SUPREMA dos Navegadores de Internet 🚀
19:01
A Tierlist SUPREMA dos Navegadores de Inte...
Victor Lima - Ciência da Computação
165,818 views
APRENDA GIT e GITHUB DO ZERO - guia completo
37:00
APRENDA GIT e GITHUB DO ZERO - guia completo
Fernanda Kipper | Dev
56,780 views
Learn Git – Full Course for Beginners
3:43:34
Learn Git – Full Course for Beginners
freeCodeCamp.org
587,606 views
Usando Git Direito | Limpando seus Commits!
47:20
Usando Git Direito | Limpando seus Commits!
Fabio Akita
155,906 views
Git Tutorial For Dummies
19:25
Git Tutorial For Dummies
Nick White
1,094,419 views
GIT: Mini Curso para Você Sair do Zero! (Aprenda em 45 Minutos)
45:58
GIT: Mini Curso para Você Sair do Zero! (A...
Código Fonte TV
65,266 views
COMO USAR GIT E GITHUB NA PRÁTICA! - desde o primeiro commit até o pull request! 2/2
43:25
COMO USAR GIT E GITHUB NA PRÁTICA! - desde...
Rafaella Ballerini
523,236 views
Git Tutorial for Beginners: Learn Git in 1 Hour
1:09:13
Git Tutorial for Beginners: Learn Git in 1...
Programming with Mosh
2,449,860 views
#18 Aprendendo a fazer CRUD com Node.js | LIVE
1:31:41
#18 Aprendendo a fazer CRUD com Node.js | ...
Programar Com Você
139 views
APRENDA DOCKER DO ZERO | TUTORIAL COMPLETO COM DEPLOY
44:15
APRENDA DOCKER DO ZERO | TUTORIAL COMPLETO...
Fernanda Kipper | Dev
102,136 views
Games no Linux? É Tão RUIM assim? 🤔
15:03
Games no Linux? É Tão RUIM assim? 🤔
Victor Lima - Ciência da Computação
47,864 views
A Minha Tier List da Programação
12:40
A Minha Tier List da Programação
Victor Lima - Ciência da Computação
34,013 views
⚠️Suas senhas são FRACAS, Descubra o porquê, e como corrigir isso já!
12:01
⚠️Suas senhas são FRACAS, Descubra o porqu...
Victor Lima - Ciência da Computação
2,937 views
Como montar uma carteira de investimentos para iniciantes (na prática)
1:49:27
Como montar uma carteira de investimentos ...
Investidor de Verdade
45,770 views
How This New Battery is Changing the Game
12:07
How This New Battery is Changing the Game
Undecided with Matt Ferrell
211,766 views
Copyright © 2024. Made with ♥ in London by YTScribe.com