Fundamentos de Git — aprenda Git e GitHub do zero! | Kalob Taulien | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Fundamentos de Git — aprenda Git e GitHub do zero!

teacher avatar Kalob Taulien, Web Development Teacher

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Boas-vindas

      1:48

    • 2.

      Por que a linha de comandos?

      1:50

    • 3.

      Como instalar Git (somente Windows apenas)

      2:29

    • 4.

      Instalando o Git (MacOS e Linux)

      4:06

    • 5.

      Introdução à GitHub

      3:00

    • 6.

      Como configurar Git no seu computador

      2:07

    • 7.

      Criando e adicionando uma chave de SSH

      4:48

    • 8.

      Como clonar um repositório

      3:16

    • 9.

      Como criar um novo repositório no GitHub

      4:58

    • 10.

      Como enviar o seu repositório do GitHub

      8:42

    • 11.

      de de de o Git

      4:48

    • 12.

      Desarrumando um arquivo

      2:25

    • 13.

      Desistindo um arquivo

      3:21

    • 14.

      Origens e controles

      3:30

    • 15.

      Ramificação de Git

      4:07

    • 16.

      Compromisso com um novo ramo

      4:35

    • 17.

      Merging de um ramo no mestre

      4:04

    • 18.

      Observando sua história de Git

      2:16

    • 19.

      Baixando atualizações do GitHub

      9:50

    • 20.

      Como obter atualizações do GitHub

      5:35

    • 21.

      Checkout: viagem de tempo código

      9:23

    • 22.

      Arquivos README.md

      2:56

    • 23.

      Visualizando diferenças de arquivos

      4:04

    • 24.

      Como ignorar arquivos

      2:24

    • 25.

      Crie um alias de Git personalizado

      1:51

    • 26.

      Como corrigir mensagens do Git

      2:03

    • 27.

      Como forjar um repo

      4:09

    • 28.

      Problemas de Git

      4:13

    • 29.

      Como abrir uma solicitação de pull

      9:40

    • 30.

      Desinstalação de um compromisso

      5:34

    • 31.

      Força

      5:56

    • 32.

      Como rebase

      5:04

    • 33.

      Resolving e rebase conflitos

      15:43

    • 34.

      Como bloquear o código

      7:59

    • 35.

      Adição de marcas às suas commits

      7:57

    • 36.

      Aula final

      4:51

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

861

Estudantes

16

Projetos

Sobre este curso

Boas-vindas à Git para todos! (Git Essentials), a versão de desenvolvedor web moderna.

Este é um curso que ensinará tudo o que você precisa saber sobre trabalhando com GitHub. E você pode usar Windows, Mac ou Linux — vou mostrar como instalar Git em todos os três sistemas de operação principais de sistemas de operação.

Ao final deste curso terá o conhecimento e a confiança de que você precisa trabalhar em uma equipe.

Trabalhei com várias equipes ao longo dos anos e tudo que você vai aprender neste curso é o que tend de usar quase todos os dias e, certamente a semana.

  • Como usar o Git na linha de comando (pro, de ponta Os servidores não têm programas visuais)
  • Como instalar o Git no Windows, Mac e Linux
  • Como configurar o Git no seu computador e adicionar sua chave SSH
  • Criação, clonagem e adicionar arquivos a um repositório do GitHub
  • Gerenciando arquivos, comentários e ramos
  • Como mesclar em outros ramos d Avisos de vigas coxos de vigia.
  • Como visualizar arquivos antigos de um tempo antigo
  • Visualizar as diferenças de arquivos e como ignorar certos tipos de arquivos
  • Repos (repositores) coxos, desculpas repos vigas (vigia, repos que Forking
  • Como trabalhar no GitHub por:
  • Criando ramos e tags personalizados
  • Abrir os problemas do GitHub
  • Opening e gerenciar solicitações de pull e
  • Como desfazer um pouco de trabalho e muito trabalho
  • Como rebase de excitantes rebase de vigas
  • Como trabalhar com mesclagem e work conflitos de rebase rebase estim rebase rebase preçoa uma mescla de rebase
  • E muito mais!

Além de nós vamos trabalhar com muitos exemplos da vida reais juntos e dar de suas mãos de experiência com o seu novo tempo de trabalho.

Conheça seu professor

Teacher Profile Image

Kalob Taulien

Web Development Teacher

Professor

Hi everybody! I'm Kalob Taulien.

 

Here's the TL;DR (short) version about me:

I have been coding since 1999 and teaching people how to code since 2013 I have over 350,000 web development students world-wide I'm on the Wagtail CMS core development team (Wagtail is Python's #1 most popular website making system) I try my best to answer EVERY question my students have  I love teaching — it's definitely one of my natural talents  Also I love goats! (Great conversation starter with me if we ever get to meet in person)

Below you can find all my Skillshare courses. The categories go from easiest to hardest, except for the Misc. Coding Courses at the very end. 

If you're brand new to coding, start with BEGINNERS WEB DEV.&nb... Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Boas-vindas: Olá e bem-vindos para receber para todos. Ou, como eu gosto de chamar, obter itens essenciais neste curso que vamos aprender a começar do zero usando apenas o Comandante. Eu sei que há um monte de grandes ferramentas visuais esquecer, mas a linha de comando é mais importante saber, e eu vou falar mais sobre isso à medida que entrarmos no curso. E a razão pela qual aprender a obter a partir da linha de comando é realmente muito mais importante e um dedo melhor tem pouca aprendizagem. Usar um banco visual para o meu objetivo para este curso é ensinar-lhe tudo o que você precisa saber para trabalhar com outros desenvolvedores em equipes de codificação e incluindo projetos de código aberto. Isso é 100% essencial ao aplicar os principais trabalhos de desenvolvedor. Todos os desenvolvedores hoje em dia devem saber. Obter agora. No final deste curso, você terá muita experiência e saberá como operar. Obtenha Hub Fluent neste curso, vamos criar um novo repositório git do zero em um monte de trabalho com ao longo do caminho, você vai querer compartilhar seu progresso na seção de projeto deste curso sobre compartilhamento de habilidades. Meu nome é Caleb dizendo que sou um desenvolvedor web por comércio. Eu também sou um instrutor online, e eu uso obter todos os dias. É a ferramenta mais usada que eu uso em todos os sites. Que eu e tudo o que você vai aprender neste curso é tudo o que eu uso diariamente . E só por diversão, eu vou jogar em algumas coisas que eu não uso muitas vezes, mas ainda são realmente importantes para saber que este curso é definitivamente para você. Se você está olhando para entrar em desenvolvimento Web como uma carreira e você ainda não sabe, obter. Se você já sabe obter este curso não é absolutamente para você. Se você é novo em folha para obter ou você está procurando aumentar, você está recebendo fluência. Eu definitivamente sugeriria fazer este curso se você decidiu fazer este curso cabeça sobre a primeira lição e nós vamos começar imediatamente. 2. Por que a linha de comandos?: primeiro, vamos falar sobre por que estamos aprendendo a linha de comando ao invés de aprender uma ferramenta visual . Existem toneladas de ferramentas visuais realmente boas lá fora para usar o git, e na verdade torna sua vida muito mais fácil do que aprendê-la a partir da linha de comando. Mas o problema é fundamental quando você começa a escrever código e precisa implantá-lo em um servidor. Não há interface de usuário. Não há nenhuma ferramenta visual para implantação em um servidor. Um servidor é tudo linha de comando. E assim, enquanto um programa visual pode ajudá-lo a aprender, quando você está apenas trabalhando em seu próprio computador, quando você realmente tem que trabalhar no computador de outra pessoa ou trabalhando em um servidor, ele se torna muito limitante. Você não saberá fazer nada, porque essa ferramenta será cuidada de tudo para você. Agora, aqui está a coisa. A linha de comando estará sempre disponível para você. Não importa se você está sob servidor, computador de outra pessoa, seu laptop, sua área de trabalho não importa. Get estará sempre disponível para você através da linha de comando. Você não precisa de um programa especial. Você só precisa ficar sozinho Então, quando terminar de escrever código no seu computador, você pode obter uma cópia completa de todo o seu código em seu servidor no computador de seu amigo em qualquer outro lugar do mundo. Agora, para aqueles de vocês que não conhecem servidores na verdade não têm uma interface gráfica de usuário, eles não têm uma interface em tudo. Isso não se parece com o seu computador Windows. Seu computador Mac. Não se parece com desktop que você coque, também. É só linha de comando. E então isso vai ensinar a você a maneira de fazer as coisas da linha de comando, porque isso realmente criará uma base mais forte para usar Get no. Mais tarde. Se você quiser usar uma interface gráfica de usuário, um pegajoso que é 100% bom, e isso vai depender totalmente de você. Mas é muito mais fácil aprender linha de comando, maneira de fazer as coisas agora e depois aprender um visual para mais tarde do que é aprender uma ferramenta visual de vez em quando. A linha de comando mais tarde 3. Como instalar Git (somente Windows apenas): Se você estiver usando o Windows como um sistema operacional, você vai querer baixar um programa específico para usar get. Este é de longe o melhor programa para Windows que encontrei. Fiz desenvolvimento no Windows, Mac, Linux, Linux, tudo o que quiser. Eu já estive lá. E quando eu estava fazendo um monte de trabalho no Windows, este era o programa que eu me retornei. Este foi um programa muito, muito bom. Então você quer ir para obter para o windows dot org Clique seu botão de download aqui, e isso irá levá-lo para uma home page get, que, ironicamente, isso é realmente o que nós vamos estar aprendendo muito em breve como uma criança hub. Então, se você rolar para baixo, você será capaz de ver que temos nomes de arquivos e outras coisas lá dentro. Temos ativos. Deseja baixar o programa? Isso é certo para você sabe, as chances são que você quer baixar obter 2.250 ponto zero 64 bit dot dxy. Provavelmente é aquele que quer. Agora, se você tiver um computador mais antigo e um laptop Windows mais antigo para uma área de trabalho do Windows sem censura ou mais antiga, você pode querer obter o 32 bits Mas se você tiver um computador mais recente, digamos nos últimos quatro anos ou então, você definitivamente vai querer obter o download do arquivo txt de 64 bits que instala isso. E uma vez instalado, você poderá abrir um programa chamado Get for Windows. E tudo o que vai parecer é uma ferramenta de linha de comando algo parecido com isso. Não, minha ferramenta de linha de comando é única porque eu personalizei isso um pouco. O seu vai parecer muito parecido, está indo. Tenha um pouco de imposto e você poderá escrever algumas coisas aqui. Mas caso contrário, a coloração pode ser diferente. Os lados podem ser diferentes, mas tudo que você realmente precisa é ser capaz de digitar algumas coisas aqui agora, uma coisa divertida de fazer. Se você está no Windows, você sempre pode digitar D I R. E isso irá mostrar-lhe uma lista de seus arquivos e diretórios onde você está atualmente algo parecido com isso para se mover rapidamente. Tudo o que você tem a fazer é digitar CD change directories com um sentido para change directory. Você pode ver o em qualquer outra pasta que você quer, então eu vou apenas, por exemplo, um CD em sido. E então, se eu fizer P W.D. W.D. você pode ver que essa é a pasta que eu estou em para você. Você pode querer configurar um projeto de exemplo ou um projeto de exemplo em sua área de trabalho ou em seus downloads, ou em algum lugar que seja um pouco mais temporário e, em seguida, CD nesse diretório onde quer que esteja, para que você pode automaticamente começar a trabalhar e vamos fazer tudo de novo. Entra nessa pasta em particular. Então, o que você tem para o Windows instalado e você tem o seu get para o Windows Terminal aberto. Vamos começar com a próxima lição em que nos introduzimos no Get Hub. 4. Instalando o Git (MacOS e Linux): Se você estiver em um Mac ou Lennix, há algumas maneiras diferentes de instalar cada sistema operacional. Pegue as primeiras coisas primeiro. Vamos rever o Mac porque mais pessoas estão usando o Mac do que estão. Área de trabalho Linux. Então, em um Mac, se você tiver um programa chamado Brew, você pode digitar brew install. Vá agora, se não tiver cerveja. Este é um programa chamado Homebrew, e eu sugiro obter este sistema operacional Mac de quatro anos. Este é realmente apenas um gerenciador de pacotes, por isso permite que você atualize facilmente o caminho para ele, por exemplo, ou instale outros pacotes que podem estar relacionados a obter ou podem estar relacionados a um projeto específico . Você está trabalhando em uma ferramenta muito útil, então esse é o Mac número um. Mac Opção número dois é Você pode simplesmente abrir o seu navegador e ir para fonte forge dot net barra projetos barra git Dash os X traço instalador barra arquivos Role para baixo nesta página, e você provavelmente só vai querer obter o mais recente. Então este é chegar ao ponto 3.0, e você pode ver que ele tem 30.000 downloads esta semana. Se houver uma versão mais recente. Definitivamente vá. Vá em frente, pegue a versão mais recente. Mas se você vir este, você também pode obter este também. Você vai querer baixar isso, instalá-lo, instalá-lo, e uma vez que você tem isso funcionando, você será capaz de abrir um programa chamado Terminal. Todo Mac vem com este programa chamado Terminal Will. Escreva isso, Terminal. Basicamente, é isso que estou usando aqui. Agora eu tenho uma versão personalizada do meu terminal, mas seu terminal vai ficar parecido com isso. Agora, se você está em uma roupa de cama, há uma maneira diferente de fazer isso. Então normalmente você vai digitar sudo Apt. Instalar, obter, e que irá instalar Get para você se você estiver em uma versão mais antiga do Lennix ou uma versão mais antiga do Let's Say You coque, também. Você faz sudo apt get install, get e que irá instalá-lo para você em versões mais antigas de você. Mas você diz que quer 12 14 16 algo assim. Se você está no seu grupo de 18 anos ou mais cedo, é apenas sudo. Apt instalado. Obter Se você estiver em um sistema operacional Linux diferente. Pode ser Yaman. Talvez seja qual for o seu gerente de pacotes, mas as chances são. São vocês os prefeitos. Seja qual for o seu gerenciador de pacotes chamado install, obtenha algo ao longo dessas linhas. Se você já está em Lin X, as chances são que você já sabe como fazer isso e você sabe qual deles usar agora, um curso rápido e rápido. Se você for novo em usar a linha de comando no Mac ou no Lennox, digite PWD. E isso irá mostrar-lhe o diretório de trabalho que estavam em que Isto é realmente apenas ah nome da pasta aqui. Então eu estou na raiz do meu computador e, em seguida, eu estou em uma pasta chamada Been and To Change Directories e Do CD e C D significa um diretório de mudança E, em seguida, para listar todos os seus arquivos e pastas que você sempre pode fazer ls Dash L. A. E você pode ver que eu tenho um monte de coisas aqui. Eu vou ver o diretório acima um último traço L A e você pode ver que eu sou apenas uma espécie de na raiz aqui. Não há nada extravagante acontecendo aqui. Isto é apenas pastas e uma pasta temporária aqui. Vamos trabalhar com a linha de comando um pouco mais ao longo deste curso. Isso não é realmente ficar relacionado. Então você vai querer estar familiarizado com CD. Deixe-me, ah, apenas fazer isso um pouco centrado aqui. Você vai querer estar familiarizado com CD e provavelmente PWD No. E também é Dash L. Um CD para muitos argumentos, porque isso não é um comando. Você tem que fazer um de cada vez. Então é CD PWD ou Ellis Dash L. A. Então vá em frente, instale-se no seu computador. Uma vez instalado e funcionando, você tem seu terminal aberto. Ou, se você estiver em uma máquina de limites, você vai querer abrir Um programa chamado Bash em vez de Terminal Terminal é para um Mac bashes para máquinas clínicas. Uma vez que você tem que em funcionamento, você pode digitar obter traço versão e ele irá mostrar-lhe a versão de Get que estamos usando . Depois de fazer isso, vamos passar pela próxima lição em que começamos a usar o Get Hub 5. Introdução à GitHub: neste curso nós vamos estar em grande parte usando get, hein? Porque muitas pessoas estão usando hábitos de get onde você vai encontrar todos os seus projetos de código aberto . Vamos querer criar uma nova conta. Ou se você já tem uma conta get hub, certifique-se de fazer login nessa conta. Vamos precisar de acesso a uma conta get up. Agora Levante-se é absolutamente livre. E só para que saibas, seguir em frente. Todas as coisas que vamos aprender são completamente intercambiáveis com um serviço chamado Get Lab. Podemos ir até você pegar o Lab Dot com, e você pode se registrar lá, e você pode usar o Get Lab em vez de obter hub. Tudo é completamente intercambiável. Ou, se você quiser, você também pode usar um serviço chamado Bit Bucket. Não consigo lembrar. Tem sido um bucket dot org e você faz a mesma coisa aqui de novo. A conta é totalmente gratuita. Se você quiser pagar por extras, você pode. Você pode pagar por recursos extras, mas não precisa. Todos esses três serviços são totalmente gratuitos, então eu vou estar usando Get Hub e eu vou apenas entrar para me levantar. Já tenho uma conta, por isso não preciso de me inscrever. Mas para você, Se você não tem uma conta, certifique-se de criar uma. Você precisará do seu nome de usuário, endereço de e-mail na sua senha. Verifique o quebra-cabeça. Basicamente, vire isso ou seja lá o que for captura será. Selecione seu plano. Certifica-te de que é só um plano gratuito. Você não precisa pagar por nada. E assim que tiver uma conta, certifique-se de iniciar sessão. O número vai assinar no meu. Certo, acabei de entrar na minha conta. Você vai ver que eu já tenho um monte de coisas acontecendo em seus pés pode ser muito mais vazio se você estiver Se você tem uma nova conta, não vai haver muita coisa acontecendo aqui. Tudo o que você precisa é ter certeza de que você tem essa conta e se certificar de que você estava logado para chegar à próxima etapa. Mais uma vez, se você sabe sobre pegar Hubbard, pegue o balde de órbita do laboratório e você tem uma preferência. Você pode usar qualquer um dos outros serviços. Estes são os três grandes aqui obter hub é o nome da marca lá fora. Obter laboratório é mais para privado. Use um monte de empresas ou usando get lab porque ele vem com alguns bons ou recursos que obter Hub faz você pagar por como uma corporação, não como um indivíduo. E há também um balde bit, que é uma espécie de serviço de get menos conhecido. Mas também é um serviço muito bom. Minha preferência é sempre levantar, especialmente se você está tentando construir um portfólio lá fora. Se você está tentando construir um portfólio, você pode ver no meu perfil aqui nós podemos ver todos os meus diferentes commits. Então, durante o verão do ano passado, eu não usei muito de obter ajuda, e você pode ver, a partir de dezembro, ele pegou. Então, por exemplo, eu tenho 21 contribuições em 23 de dezembro de 2019 e o que é bom sobre isso é qualquer futuro empregador que esteja procurando possivelmente contratá-lo como desenvolvedor. Eles vão querer ver a sua conta get have. Eles não se importam muito com seu portfólio. Se seus sites estiverem bonitos, eles querem ver seu código, e este é o lugar perfeito para destacar seu código. Então, mais uma vez, apenas certifique-se de que você tem uma conta get hub. Obter conta de laboratório ou uma conta balde bit que eu vou estar usando get hub. Então, se o seu novo em folha isso vai ser mais fácil de seguir com, obter hub. Então vá em frente, comece isso e te vejo na próxima aula. 6. Como configurar Git no seu computador: antes de fazermos qualquer coisa com ele, precisamos configurá-lo em nossa linha de comando porque agora, se tentarmos fazer qualquer coisa com get ou get hub de nossa linha de comando, ele não sabe quem somos. Ele não sabe o que fazemos. Ele não sabe nada sobre nós. Então vamos precisar configurar duas coisas que vamos precisar para configurar nosso nome e nosso endereço de e-mail. E isso é exatamente o que nós entregamos começos. Falaremos sobre submissões e assinaturas e todas essas coisas no fim da estrada. Mas basicamente, toda vez que escrever um pequeno pedaço de código e colocá-lo, pegue hub. Há uma pequena assinatura no hash, na verdade, e tem um autor, e precisa saber quem é esse autor. Então, para isso, vamos digitar get config, Dash, dash global. Eu faço um pouco menor aqui e você pode ver algumas das minhas coisas de cima apareceram. Tudo bem, citação de nome de ponto de usuário, e eu vou colocar meu nome como Caleb dizendo porque esse é o meu nome. E então eu vou digitar get config, traço Dash, e-mail de ponto de usuário global, e este vai ser meu endereço de e-mail. Eu coloquei isso em citações também, e eu vou escrever meu endereço de e-mail aqui. Você pode ver que realmente envolto em outra linha. Tudo bem se eu fizer o menor vai voltar para uma linha, então aperte enter e pronto. Agora que os endereços de e-mail devem corresponder idealmente ao seu endereço de e-mail get Hub, eu não acredito que seja realmente necessário, mas é uma maneira melhor de fazer as coisas se seus endereços de e-mail estiverem alinhados. Então, o que quer que você se inscreveu no Get Hub, obtenha o laboratório Orbit Bucket, certifique-se de que você está usando exatamente o mesmo endereço de e-mail. Não, podemos verificar se isso funcionou digitando Cat, e isso é uma barra inclinada ponto get config. E se eu fizer guia após a palavra C o N f apenas tab, ele vai auto completar. Para mim, esse arquivo deve existir, e agora podemos ver que temos um usuário com um nome e um endereço de e-mail. Se você não tem este arquivo, significa que você está get configures não configurado, então certifique-se de que você tem seu nome de usuário e seu e-mail de usuário configurado, e também certifique-se de que você tem um arquivo de configuração git em seu computador. Se você tem isso tudo pronto e correndo de cabeça sobre a próxima lição, ele vai falar sobre adicionar uma chave ssh. 7. Criando e adicionando uma chave de SSH: quando estamos usando obter há realmente duas maneiras que podemos fazer qualquer coisa com um repositório. E para que eu não pule muito à frente aqui, eu vou abrir um repositório de código aberto aqui chamado Wag Tail. Agora, um repositório é simplesmente um lugar onde todo esse código está hospedado. Quando virem códigos como este no Get Hub, peguem o balde de órbita do laboratório. Isso é chamado um repositório ou um repositório para abreviar. Agora, se eu quisesse colocar este código no meu computador, eu tenho alguns métodos diferentes para fazer isso. Eu posso baixar o zip, que é uma espécie de método antigo de fazer isso ou eu posso usar get. Agora. Há duas maneiras de fazer isso com eu posso clonar para você, https. E sempre que tentarmos fazer uma alteração ou ele tiver a validar quem eu sou, ele vai me pedir meu nome de usuário e meu endereço de e-mail. Esse é o nome de usuário e o endereço de e-mail que você se inscreveu para usar o Get Hub. Isso é bom, mas vamos fazer muito trabalho, e isso vai ficar extremamente irritante. A segunda maneira é usar ssh, que basicamente cria uma chave em seu computador. Apenas ah, assinatura, se você quiser. E diz que eu sou quem eu sou porque eu tive que ir e criar manualmente essa chave. E então nós vamos adicionar esse garoto get hub para que ele fique sempre sabe que sempre que tentamos executar algum tipo de comando que nós somos, de fato validados, nós somos quem somos. Esta é uma forma de validar a sua conta através da linha de comandos. Agora, para fazer isso, precisamos digitar realmente apenas um comando. Ssh! Dash Key, Jen Dash Oh, não é um zero. É uma minúscula “O”. Oh, agora, se você estiver no Windows, você vai querer certificar-se de que você está usando get for Windows e digitar isso. Caso contrário, se você estiver usando um programa diferente, você provavelmente precisará executar algo um pouco diferente. Se você está no Mac ou Linux é este comando deve funcionar bem fora da caixa para você também . Então vá em frente, bata nisso. Ele vai perguntar onde queremos salvar este arquivo. Eu só apertei Enter, colocá-lo direito na minha pasta de ponto s s H esta rota partes vai ser um pouco diferente para você, dependendo do seu computador e sistema operacional. Mas deve ir para a sua pasta dot ssh e para a sua frase-passe, eu não vou dar uma frase-passe. Então, basta bater. Digite Nenhuma frase-passe novamente. Aperte, Enter. E agora tenho uma chave SSH. Agora, isso tudo parece muito nojento. E isso na verdade não é a chave ssh em si. O que queremos dizer é gato Esta pasta neste arquivo, na verdade, vamos em frente e copiar isso. Agora, isso pode ser diferente no seu computador. Se for, basta copiar e colar isso e queremos que o i d sublinhar r s um ponto pub. É a nossa chave pública. O que vamos fazer aqui é pegar tudo isso e vamos apenas copiá-lo . Vamos em frente e abrir, obter hub mais uma vez e vamos para nossas configurações de conta, entrar em suas chaves ssh e G PG e clicar em Adicionar nova chave. Agora, eu tenho tudo isso desfocado porque eu tenho chaves privadas e eu não quero nem mesmo impressões digitais sendo expostas publicamente porque eu tenho algumas coisas que eu quero manter em segredo . Vou adicionar uma nova chave ssh aqui e colar isso aí. Foi tudo o que fiz, literalmente. Copie e cole. Eu vou chamar isso de obter para todos, barra obter fundamentos e adicionar essa chave ssh agora para rolar para baixo a página. Você pode ver que pode obter para todos slash obter essencial Key está aqui. Tem uma impressão digital e a data em que a adicionei. Também nunca foi usado, então você vai querer ir em frente e fazer isso também. Agora, se você não tem acesso a esse comando cat para basicamente imprimir seu arquivo, você pode editar esse arquivo de qualquer outra maneira. Você pode abri-lo através do seu diretório de pastas. Basta lembrar que dot ssh provavelmente será uma pasta oculta, então você precisará mostrar suas pastas ocultas. Mas realmente, tudo que você precisa fazer é abrir o arquivo que criamos copiar e colar e levantar-se e agora levantar-se, sabe quem somos sempre que digitar o comando get e ele quer nos autenticar ele quer ter certeza que somos quem somos e que não estamos mentindo sobre quem somos. Tudo o que temos que fazer é adicionar essa chave ssh. Agora, se você não pode adicionar a chave H da NASA. Se isso é um problema para você no seu computador, o que você pode dio é em vez de usar ssh, você pode usar https, e você pode realmente ver que o U. R L muda. Aqui é obter Atget hub dot com ou, se usarmos https, https, https, obter hub dot com e, em seguida, é um u R L. regular Então, se você não estava usando uma chave ssh, se isso foi um problema para você, por qualquer motivo, você pode continuar a usar https, e isso é totalmente bom. Ele só vai pedir seu nome de usuário e seu endereço de e-mail sempre que você quiser fazer algo. Mas isso não deveria te atrasar. Por que você está fazendo este curso uma vez que você tem sua chave ssh lá ou você decidiu pular totalmente este passo, vamos para a próxima lição 8. Como clonar um repositório: Vamos clonar um repositório. Realmente? Tudo o que significa é que temos um repositório no Get Hub, obter o balde de órbita do laboratório, e queremos copiar o computador da loja de arquivos. Mais uma vez, há três maneiras de fazer isso. Podemos baixar o zip. Podemos baixá-lo com, começar usando Ssh ou dólares Obter usando https. Agora, eu estou apenas em um exemplo aqui Repo chamado Wag Tail. Faço parte da equipa principal, por isso é claro que vou usar isto como demonstração. E tudo o que eu quero fazer é clicar neste botão clone ou download e eu vou estar usando Ssh. Se você não tiver o ssh configurado no computador, tudo bem. Você pode usar o https u R L Eu vou estar usando o ssh um, embora. Então abra nosso terminal e escrevemos porque Oliver recebe comandos. Sempre comece com obter a palavra clone, que realmente significa apenas copiar ou baixá-lo de get hub e colocá-lo em nosso ritmo de computador que você é Ellen aqui. E o que isso vai fazer é criar uma nova pasta chamada seja lá qual for o nome do repositório. Isso vai criar uma nova pasta chamada Wag Tail para mim e se eu apertar Enter, Isso só vai baixar todo o varejo. Agora, este é um grande repo. Então leva um pouco de tempo. Se você tiver um relatório novo ou um repositório menor, isso não levará muito tempo. Não, eu sei. Ls Dash L. A. Nós podemos ver que Wag cauda é uma pasta aqui ou se eu estou em janelas, eu poderia fazer dir e você pode ver que cauda wag é um completo durante aqui também CD em wag tail . E se eu fizer um último traço, podemos ver todos os arquivos aqui. Então vamos fazer um pequeno teste. Vamos ver isso Leia-me arquivos. Isso é gato me ler e oh, nós vamos ver todo tipo de coisa aqui. Isso pode ter sido um mau exemplo, porque é um pouco longo, então eu apenas rolou até o topo aqui e podemos ver que há um H aqui. Ah Wei conta um sistema de gerenciamento de conteúdo de código aberto construído em Jango. Vamos ver se é exatamente o que diz no Get Hub. Vamos abrir o arquivo Leia-me Leia-me. Leia-me Dot MD sobre aquela idade lá dentro. Espera informa um sistema de gerenciamento de conteúdo de código aberto criado no Jango. Parece que este é o certo. Então é assim que clonamos agora. Isso não significa que podemos fazer alterações neste código aqui e empurrá-lo para obter Hoven sobrescrever o trabalho de todos os outros. Há um fluxo inteiro, um fluxo de desenvolvedor por trás disso e você precisa ter permissões de gravação. Mas, por enquanto, você só precisa saber o que era clonagem. Clonagem é simplesmente baixar isso de obter hub, obter laboratório órbita balde e simplesmente colocá-lo em seu computador Agora, Isso também vem com toda a sua própria história get também, então eu poderia fazer P w d Eu posso ver que caudas wag Eu sou quero dizer o Wag Pasta da cauda. Este é o caminho até a pasta que eu estou dentro. E se eu conseguir log, vamos ver oh tipo de logs aqui podemos ver commits. Vou desfocar os endereços de e-mail só por privacidade. Podemos ver todos esses diferentes commits, você pode ver o que as mensagens de commit. Você pode ver quem escreveu qualquer coisa. Você obtém todo o histórico de obtenção de qualquer repositório que você clonar. Então, isso é roupa praticamente em poucas palavras. Na próxima lição, vamos criar um novo repositório do zero. 9. Como criar um novo repositório no GitHub: Vamos em frente e criar um novo repositório no Get up novamente. Se estiver usando, pegue o balde de órbita do laboratório. É exatamente a mesma coisa que estamos usando Get Hub como o exemplo principal aqui . Então o que eu quero fazer é clicar neste pouco mais aqui e criar um novo repositório. Vou criá-lo como eu mesmo. Eu sou o dono. Eu também sou parte de outras organizações, então eu poderia criar um repositório sob um órgão é uma organização da qual eu faço parte . Não vou fazer isso neste caso. Eu estou indo apenas para criar um novo repositório em minha própria conta, e este nome de repositório vai ser obter repositórios essenciais fora. Não precisamos chamá-lo de Revogação estava chamando Obter Essenciais e eu poderia dar uma descrição se eu quiser, e eu posso dizer que é um público ou privado. Se for público, todos poderão ver o meu código. Se for privado, ninguém poderá ver o seu código. Agora, se você estiver criando portfólio, você quer que seu código seja público. Você gostaria de inicializar este repositório com um arquivo leia-me? Isso é basicamente o arquivo principal que diz, Oh, tudo sobre este pedaço de código, tudo sobre este projeto. O que está acontecendo aqui? Eu vou dizer não porque nós vamos adicionar isso manualmente um pouco mais tarde. Vamos em frente e criar nosso repositório. E agora está nos pedindo para fazer uma de duas coisas. Podemos criar um novo repositório a partir da nossa linha de comando ou push e repositório existente a partir da linha de comando. Agora, não temos um repositório existente, então não vamos usar essa opção. O que queremos fazer é criar um novo repositório. Então vamos em frente e criar um novo arquivo aqui. Vamos passar por alguns passos que podem não fazer sentido. Você no começo, mas no final da estrada, eles vão. E antes de fazermos isso, vamos também mudá-lo de https para S S H. Agora novamente, se você não tiver seus ativos chave H configurada. Isso é bom. Você pode apenas usar https. Eu tenho SSH configurado. Então eu vou usar este link agora antes de fazer isso. Na verdade, o que eu vou fazer é criar um pequeno diretor temporário aqui, então eu vou fazer um novo diretório e chamá-lo de teste, e eu vou ver d neste diretório. E se eu fizer PWD podemos vê-lo em uma pasta chamada “Anos de Teste”. Vamos parecer diferentes. Anos provavelmente terão um nome de usuário. Ou se você estiver em janelas, isso vai dizer, Veja, Dr. Windows Yada, blá blá. Só estou numa pasta nova. Não há nada aqui. Vou acelerar o primeiro comando. E se eu fizer é Dash L. A. Temos agora um novo arquivo de leitura aqui. Também precisamos nele ou inicializar um novo repositório git. Então vamos entrar é Dash L. A. e podemos ver que agora temos uma pasta de “get” aqui. Nós praticamente nunca precisamos acessar isso. Obter pasta. Agora, vamos fazer um pequeno compromisso rápido. Basta seguir estes comandos. Vou passar por tudo isso passo a passo lição por lição. Então nós vamos obter um get adicionar o Leia-me Se eu fizer isso, obter status. Você pode realmente ver que há um novo arquivo aqui novamente. Você não precisa saber o que tudo isso é. Vou criar um novo get commit. Este só vai ser chamado de primeiro comprometimento. Se eu conseguir o registro de novo, explicaremos. Ficar logado mais em profundidade na estrada. Podemos ver que tenho um haxixe aqui, o que é muito legal. Eu tenho mestre chefe, eu me tornei autor. Este é o lugar onde nós configuramos nossa conta usando get config dash, dash Global. Essa é a entrada do usuário. Este é o endereço de e-mail que coloquei. Eu só e eu apenas divulgo meu endereço de e-mail lá, mas ele vai dizer o seu endereço de e-mail. Próximo. Precisamos copiar esta linha aqui. Obter remoto, adicionar origem colar isso lá. E se pudéssemos fazer obter traço remoto V E novamente. Não se preocupe, vamos entrar em tudo isso um pouco mais tarde. Você pode ver que eu estou usando Ssh! Obter no hub dot com em vez de https. Então eu estou usando Ssh! E este é o meu nome de utilizador. Obter o nome de usuário do hub. E este é o meu repositório git. E por último, só precisamos empurrar. Vamos fazer empurrar Dash, você mestre de origem novamente. Vamos rever tudo isto. Nós só precisamos passar por esses comandos inicialmente. Agora, esta é a primeira vez que estou usando esta nova chave ssh. Então é depois de me perguntar se quero continuar. Eu só vou digitar. Sim, se você não tiver uma chave ssh, ela solicitará seu nome de usuário e sua senha. Para obter hub, você precisará inserir esses cada vez que quiser fazer um empurrão. Eu tenho uma chave SSH, então eu não preciso fazer isso todas as vezes. Agora, vamos voltar aqui e eu vou simplesmente atualizar esta página. Ei, olhe isso. Temos agora empurrar nosso primeiro arquivo para obter hub. Agora, nós não sabemos necessariamente quais eram todos esses comandos, e tudo bem novamente. Sei que já disse isso 30 vezes, mas entraremos em cada um desses comandos neste momento. Você deveria ter um exemplo. Obter Hub Repository configurado com um arquivo aqui chamado Leia-me. E se formos editar isso, como podemos ver que só diz “obter o essencial”. Isso é exatamente o que estava no comando original quando criamos este novo arquivo, e tudo o que fizemos foi dizer, “ Ei, temos código no nosso computador e então basicamente o compactamos, enviamos para que o Hub dissesse Legal. Sim, posso aceitar-te. Você é quem você é porque você possui a chave Ssh ou você digitou seu nome de usuário e senha, e eu vou aplicar essas alterações agora. Há muitas coisas diferentes em obter ajuda. Vamos entrar em muitas dessas coisas diferentes. As coisas mais comuns, pelo menos, mas por enquanto, você tem um novo repositório. 10. Como enviar o seu repositório do GitHub: Agora temos um novo repositório no hub Get e digamos que queremos adicionar mais alguns arquivos agora. Quando criamos este repositório, nós realmente criamos um novo arquivo chamado Leia-me dot MD e empurrá-lo para cima. Agora. Empurrar é o termo que usamos para basicamente obter código do nosso computador fora do nosso computador e para obter Hub. Isso é chamado de empurrão, e realmente, há quatro passos para isso. Então, sempre que criamos um novo arquivo ou editamos um arquivo existente, temos algo chamado trabalho não encenado, e então precisamos preparar nossos arquivos ou encenar nosso trabalho. Então precisamos comprometer nosso trabalho, e então precisamos empurrar nosso trabalho para o repositório. Então, se eu fizer P W D L A Stash L. A. você pode vê-lo na minha pasta de teste, e é aqui que o arquivo de leitura de teste estava quando criamos este novo repositório pela primeira vez. Agora nós criamos esse arquivo dizendo ecoar um monte de coisas aqui, e então nós forçamo-lo em algum arquivo dot txt. Isso foi basicamente tudo o que fizemos lá. Bananas go não tinha realmente criado um novo arquivo algo que nós vamos querer realmente trabalhar com. Então eu vou ficar na minha linha de comando, e eu vou estar usando um programa chamado Vim. Você pode usar Nano ou vie ou qualquer outra coisa que você gosta, ou se você quiser, você pode obter totalmente fora disso e você pode usar código V s sublime. Adam, qualquer editor de texto que você gosta de usar para escrever seu código normal para mim, eu vou criar um novo arquivo usando eles só para que eu possa ficar no meu terminal. Eu vou chamá-lo primeiro traço push dot txt Agora aqui, eu estou simplesmente indo para a direita. Este é o primeiro empurrão e direita e desistir. Agora, se você não os conhece, eu não vou ensiná-los. É um editor estrangeiro muito duro. Você poderia facilmente usar Nano, e é praticamente a mesma coisa. Falaremos um pouco mais sobre isso à medida que progredimos através do curso também. Então agora se eu fizer é Dash l. A. Eu tenho um novo arquivo aqui chamado primeiro push dot txt E se eu conseguir status e este é um comando que você vai querer executar uma e outra e outra vez. Você realmente vai querer concorrer, obter status com tanta frequência que só se torna hábito. Quando seu cérebro esquece o que você está fazendo, você apenas digita automaticamente obter status. Agora, quando aqui temos arquivos desrastreados. Este é um novo arquivo chamado first push dot txt. Agora isso é tecnicamente inencenado. O que isso significa é que, mesmo se fizemos um get push origem mestre como vimos um par de vídeos atrás ou aquele último vídeo, nada vai acontecer. Nós não estamos dizendo para realmente adicionar este arquivo ao nosso pequeno pacote e, em seguida, enviá-lo para obter hub. Então, na verdade, não está fazendo nada. Precisamos adicionar esse arquivo. Então, obter anúncio e, em seguida, eu vou apenas digitar primeiro e, em seguida, clique tabulação para auto. Completa isso. Obter anúncio primeiro push dot txt. Agora vai parecer que nada acontece. Mas se eu receber status novamente, você pode realmente ver que o arquivo está agora em verde. O novo arquivo de Issa muda para ser confirmado. Isto agora está encenado. O que o arquivo em verde significa ar com o revestimento verde significa é quando criamos um novo commit ou pensamos nisso assim, quando criamos um novo pacote, vamos abrir uma nova caixa. Vamos colocar esse arquivo e fechar a caixa. Vou escrever quem vai e quem colocou o arquivo dentro da caixa. Então o autor, isso é o que um commit é. Então, neste ponto, temos este arquivo que está encenado, está pronto para entrar em uma caixa. Está pronto para ser comprometido. Então nós temos cometer Dash M para uma mensagem. Quero dizer que este é o primeiro empurrão oficial. Tecnicamente, não é porque já empurrámos uma vez, mas este é um olhar mais profundo para ele. Então eu vou dizer que este é o primeiro empurrão oficial. Agora, se eu for buscar o hub e eu atualizar isso, vamos ver que nada aconteceu. Meus arquivos ainda não estão lá. E isso é, na verdade, por uma boa razão. Nós só criamos o comitê. Na verdade, não enviamos esta caixa ou dissemos à FedEx ou à UPS para retirar esta caixa e enviá-la para obter o hub. Agora precisamos fazer isso, precisamos ligar para a empresa de entregas e dizer, “ Ei, venha pegar nossa caixa. Precisamos que isso vá para obter hub, e fazemos isso com obter push origem mestre, agora o que isso significa, na verdade, o que eu vou fazer aqui é esclarecer isso. Obter push origem mestre, colocar o no meio da tela. Então get é o nosso principal comando Get empurra o que estamos fazendo. Vamos dizer “oi “, pegue nossos compromissos atuais e empurre-os para onde quer que nossa origem esteja. Como nossa origem é Get hub. Isso é o que isto é. Esta é a nossa origem. Sua origem pode ser obter laboratório se você usar Get lab ou pode ser bit bucket ou auto host para obter laboratório. Pode ser qualquer coisa, mas em termos de git, nós apenas chamamos de origem e ele cuida de onde é suposto ir e como rastreá-lo e coisas assim e, em seguida, mestre é o nosso ramo. Agora, em get hub, nós tendemos a trabalhar fora de um ramo primário chamado Mestre. É como quando você serve um site HTML e seu navegador procura automaticamente para o índice dot html Bem em obter ele está automaticamente procurando por um ramo chamado Mestre. Se olharmos aqui, podemos ver que só temos um ramo chamado Mestre. É o padrão. Tecnicamente, Tecnicamente, você pode mudar isso. Mas por padrão, é sempre mestre. E então nós queremos dizer neste ramo, e vamos falar mais sobre ramos abaixo da linha. Mas neste ramo, queremos adicionar nossa caixa de arquivos. Então nós simplesmente dizemos Pegue nossa caixa de arquivos”. Pegar a caixa de arquivos dela, empurrá-la ou, você sabe, empacotar, entregá-lo para obter hub e colocá-lo no ramo mestre ou na prateleira mestre. Pegar a caixa de arquivos dela, empurrá-la ou, você sabe, empacotar, Se fosse, um armazém gigante estaria a pô-lo na prateleira principal. Então eu bati. Enter, obter push origem mestre. Agora, se você não tem uma chave ssh funcionando, isso vai pedir seu nome de usuário e sua senha uma e outra vez . Vais continuar a perguntar-te sempre que quisermos fazer isto. E é por isso que eu realmente sugiro que você entre em operação. Chave Ssh. Não, está tudo bem para ir. Está usando compressão Delta até três threads. Está comprimindo. São objetos para ordem. Acabamos. Há um monte de magia nos bastidores e agora está dizendo que temos um novo compromisso do nosso ramo mestre atual para o Origin Master Branch e vamos dar uma olhada nisso . Essa é a página de atualização agora, e veremos um segundo arquivo ser empurrado para fora. Txt e eu podemos clicar nele e ele diz que este é o primeiro empurrão. Agora, onde é que os commits realmente entraram? Enquanto falaremos sobre Kim, está abaixo da linha, mas ver um commit é realmente apenas olhar através do histórico do seu código. Então este é o nosso primeiro compromisso. Eu fiz isso há 29 minutos e o primeiro empurrão oficial, que é tecnicamente errado porque você pode ver que há dois commits aqui. Então, um desses foi obviamente o primeiro empurrão. Mas o primeiro empurrão oficial, esta é a nossa mensagem de confirmação foi feita há três minutos. Agora podemos navegar no repositório neste ponto do histórico. Então, se eu clicar nisso, isso essencialmente apenas voltou no tempo antes do novo arquivo txt do primeiro push dot existir . Então isso é quase como se estivéssemos olhando para o código de 30 minutos atrás. E se eu clicar nisso bem, isso vai ficar exatamente como onde estamos atualmente. Estamos atualmente no Master agora você pode ver que ele realmente muda o u R l aqui em cima. Então vamos voltar ao nosso código e nós só queremos ter certeza de que estamos apenas na árvore normal aqui é apenas um mestre regular e podemos dar uma olhada neste arquivo e em qualquer ponto no tempo. Então, realmente, isso é tudo o que há para empurrar. Foi uma recapitulação rápida para empurrar. Você tem um trabalho não encenado, então você precisa encenar seu trabalho. Vou considerar isso em vez de reclamar que não tem um comando chamado palco, então você tem que encenar seu trabalho. Então você tem que cometer seu trabalho com uma mensagem de commit, e então você tem que empurrar seu trabalho para o seu mestre de origem. Agora lembre-se de cometer muitas vezes cometer pequenos commits. A razão para isso é porque se eu fosse para entrar aqui e digamos que você e eu estivéssemos trabalhando juntos e seu primeiro compromisso bem, este só tem uma mudança. Mas digamos que seu commit mudou 170 arquivos, o que não é inédito, mas isso é um commit bastante grande. Se eu estiver fazendo qualquer tipo de revisão de código, e eu preciso ver o que você mudou, é realmente difícil para mim passar por 170 arquivos apenas para encontrar talvez um pequeno bug ou cenário ou uma referência a um pedaço de código, enquanto Isto é apenas um pequeno pedaço de linha. Mas se você mantê-los em algum lugar entre um em cada 10 arquivos, isso geralmente é um tamanho muito bom. E realmente, isso é tudo. Só porque os commits menores são mais fáceis para os colegas de trabalho lerem, também é mais fácil para você ler através da linha abaixo. 11. de de de o Git: até este ponto, temos trabalhado com um comando chamado Get status, então obter status. E atualmente não há nada aqui para ver. Obter status é praticamente o único comando que você vai querer executar mais do que qualquer outro comando git. É provavelmente o comando mais popular. Eu uso todos os dias. Obter status uma e outra e outra vez. E porque não faz mal toda vez que pegamos status, não causa danos ao meu projeto. Isso não muda nada. É apenas uma atualização de status, realmente, e tudo isso vai fazer é mostrar quais arquivos foram alterados, excluídos, excluídos, adicionados ou renomeados. Ele também irá mostrar-lhe quais arquivos estão atualmente encenados para cometer, o que é super importante para cometer, então eu tendem a usar get status uma e outra vez e outra vez. A maioria dos Dev tendem a usar o status de obter muito. É um bom hábito de estar. Sempre verifique seu status, sempre digite, obtenha status uma e outra e outra vez. Agora, para mostrar um exemplo adequado, porque nas últimas lições nós meio que pulamos toda a coisa de obter status . Então, como exemplo, o que eu vou fazer aqui é que nós temos este primeiro push dot txt arquivando aqui. Então vamos adicionar esse arquivo Vim primeiro empurrou dot txt e definir os números aqui. E vamos descer para a linha três e dizer que esta é a segunda edição deste arquivo. Não, de novo, você não precisa usá-los. Você pode usar o código Nano V, qualquer coisa que você gosta. Só estou a fazer isto para poder ficar dentro do meu terminal. Agora, se eu conseguir status, vai dizer que há algo diferente. Ele diz que primeiro empurrado txt foi modificado. Agora, se você se lembra da última lição, ele realmente disse que este era um novo arquivo era um arquivo não rastreado. E se nós realmente lermos isso e eu sempre, sempre uma leitura através disso, eu sei que não é bom porque é tudo texto branco liso e meio que derrete juntos, mas definitivamente tentar ler através dele seus ramos até à data com Origin Mestre. Isso é obter hub barra Master Branch mudança não é encenado para commit para que essas alterações não encenadas ar e até mesmo nos diz como fazer isso. Ele diz Obter anúncio e no nome do arquivo para atualizar o que será confirmado para que o teste são arquivos. E se alguma vez quiséssemos, poderíamos descartar as mudanças em um diretório de trabalho com obter check out dash como fogo, e falaremos sobre isso mais tarde. Mas o que queremos aqui é obter anúncio primeiro push dot Txt. Não, Se você queria adicionar todos os arquivos, digamos que você tem 10 arquivos e você não quer digitar cada um que você pode fazer. Obter add dot e que irá adicionar todo o seu arquivo atualmente não testado. Então, se obtivermos status novamente, podemos ver mudanças a serem confirmadas. Isso está pronto para ser comprometido, e agora podemos adicionar get commit em seu get commit segunda alteração para este arquivo. Agora, se eu conseguir o status mais uma vez, você vai ver que não há nada lá dentro. E isso é porque isso já está comprometido. Isso já está em nossa pequena caixa que estamos prontos para enviar para fora do nosso armazém ou armazém de código , e que está sentado no compartimento de ancoragem que está esperando a FedEx ou UPS ou alguma outra empresa de entrega para vir buscar esta caixa. Então, para todos os propósitos, podemos agora dizer que está feito. Não precisamos ficar sem mais. E, a fim de mais uma vez realmente empurrar essas mudanças para obter como nós temos que fazer ser empurrado mestre origem, lá vamos nós. E se eu voltar para o nosso repositório aqui, basta ir para o nosso código. Parece que nada aconteceu de verdade. Mas há 1/3 commit lá agora. Segunda alteração deste ficheiro. Então isso é muito importante. Vamos dar uma olhada neste commit em particular e podemos ver em verde aqui que adicionamos esta linha. Se excluíssemos essa linha , estaria em vermelho, mas não apagamos. Adicionamos uma linha. Então está em verde. Nós também podemos ver que com o nosso primeiro push commit oficial, nós tivemos duas linhas aqui uma linha em branco on-line também. E este é o primeiro empurrão na linha um. Ambas as linhas são verdes porque este era um novo arquivo. Então, ao longo de toda esta jornada, vamos querer estar escrevendo, obter status muito para obter status. Você vê, não há nada lá dentro. E se eu quisesse, eu poderia fazer ls traço l. A. e eu poderia remover primeiro empurrado r TX CRM só significa remover. Vou apagar este ficheiro. Se você está no código V s ou sublime, você pode simplesmente excluir o arquivo. Ou, se você for Explorer ou localizador, você pode simplesmente excluir esse arquivo também. Agora, se eu conseguir status novamente, na verdade, não vamos conseguir status ainda. Vamos fazer Dash L. A. Podemos ver que o arquivo não existe mais lá. E se eu conseguir o status, ele realmente diz que meu arquivo foi excluído. Agora, na próxima lição, vamos aprender a desmontar um arquivo. Então, o que acontece se nós acidentalmente estágios arquivados para ser comprometido e estamos tipo, 00 não, Nós realmente não queremos excluir este arquivo. Queremos ter certeza de que este arquivo sempre existe e adicionamos acidentalmente para ser confirmado. Vamos abordar isso na próxima lição. 12. Desarrumando um arquivo: na última lição. Criamos um arquivo e o excluímos. E digamos que foi um acidente. Na verdade, não queríamos apagar isto. Agora vamos nos preparar para o fracasso, porque isso vai acontecer com você . Isso acontece com bastante frequência, não todos os dias, mas acontece ser bastante frequentemente quando eu fico um pouco desleixado. Então, quando eu conseguir, adicionar e vamos dizer que eu só queria adicionar todos os meus arquivos a serem confirmados e eu tenho status este arquivo agora tem diz que foi excluído e que vai sair no próximo commit No . E se isso fosse um arquivo muito importante? E se este for um arquivo de configurações ou um arquivo de configuração para todo o meu projeto? E eu sou como, Oh, não, eu não quero cometer isso. Como faço para que isso não seja mais encenado? Isso é super fácil. Podemos realmente ver o que diz aqui, Obter arquivo de cabeça de reset. Agora podemos realmente fazer isso facilmente. Honestamente, só temos que seguir as instruções que estão aqui. Obter cabeça de reset em letras maiúsculas e no nome do arquivo. Primeiro push dot txt Alterações não preparadas depois de redefinir Como você obtém status novamente. Este é o lugar onde obter status realmente entra. É super importante. Poderíamos ver que o arquivo agora não foi encenado para confirmar. Desencenamos agora. Não está sob identificação de elite, mas não foi encenado. Então, agora, se fôssemos fazer outro commit ou em outros arquivos, não precisamos nos preocupar em ter isso acidentalmente empurrado para um repositório. Porque novamente, se isso foi um grande erro? E se este fosse um arquivo de configurações ou um arquivo de configuração de projeto que fosse realmente importante ? Apagámo-lo acidentalmente Bem, com Get, podemos sempre voltar no tempo e trazê-lo de volta. Mas esta é uma maneira mais fácil. Estamos impedindo que o problema aconteça. Primeiro, vamos rever este exemplo apenas mais uma vez. Vamos fazer o anúncio primeiro bush dot txt para obter o status, e podemos ver que ele foi excluído lá Agora, muito não encenado é. Tudo o que temos que fazer é redefinir a cabeça e depois o nome do arquivo. Primeiro push dot txt obter status novamente. Ele diz mudanças não encenadas após a reinicialização, e temos oficialmente encenado e não encenado um arquivo. Agora, o que acontece se apagarmos isto acidentalmente do nosso computador? Porque, novamente, isso acontece de vez em quando, nós realmente executamos um programa que exclui algo, ou nós realmente excluímos o arquivo errado. Como fazemos como desfazer isso bem com get Porque este é um sistema de versão ing. Podemos desfazer totalmente esta exclusão. Vou mostrar que teve que fazer isso na próxima lição. 13. Desistindo um arquivo: Partindo da última lição. Temos um arquivo aqui que excluímos acidentalmente, chamado primeiro push dot txt. A última lição nós encenamos o incêndio e então nós desmontamos o arquivo para que não o cometemos acidentalmente . Mas agora que digamos, nós acidentalmente excluímos este arquivo por qualquer motivo e realmente não importa como ou quem fez isso, mas precisamos desfazer essa exclusão agora, sem obter a maioria de seus arquivos vai acabar em seus computadores pasta de lixo Ou, se você fizer a partir da linha de comando e você fizer RM primeiro, empurre don t Xia. Agora eu já fiz isso alguns vídeos atrás. É por isso que os arquivos apagaram. Mas isto pode não estar no teu lixo, por isso, tecnicamente, desapareceu para sempre. O bom de conseguir é que podemos trazer isso de volta. Tudo o que temos que fazer é digitar get check out, e ele realmente nos diz aqui que podemos fazer check out dash dash file para descartar mudanças trabalhando em nosso diretório para que possamos fazer check out dash dash, primeiro push dot txt e obter status. Olhe para isso. Agora, se eu fizer é traço L. A. Meu arquivo existe novamente para que eu possa fazer isso mais uma vez. Como um exemplo mais rápido. Podemos fazer RM primeiro, empurrado para fora txt, obter status e diz que eu apaguei o arquivo, mas eu quero desfazer isso. Eu faço é Dash L. A. A. Nós podemos ver o arquivo não existe mais e com get check out traço e então o nome do arquivo que foi excluído empurrado para fora. Txt obter status. Já não está lá dentro. Não está pronto para ser encenado. Não está no palco. No momento, não há mudanças. Se eu fizer isso é Dash L. A. Isso trouxe meu arquivo de volta dos mortos. Agora, é assim que trazemos um arquivo de volta usando get check out, get check. Também foi usado para outras coisas. Vamos explorar essa opção um pouco abaixo da estrada também. Mas se você excluir acidentalmente um arquivo, se você estiver usando o git e tiver uma versão salva anteriormente desse arquivo em um commit, então tudo o que ele vai fazer é trazê-lo de volta daquele último commit. Então, quando dissemos obter check-out traço traço, primeiro empurrar ponto txt Tudo o que está dizendo foi pagar no arquivo. Eu sei que você tem três commits que o último commit foi este aqui e este foi o conteúdo. Isto é o que estava dentro daquele arquivo. Então eu sei que porque eu tenho isso na minha história, eu sou o que sabe tudo, tudo saber arquivo, mestre. E por isso, porque já tens isto, vou dar-te o que tinhas antes. E então foi isso que se disse. Ei, você queria trazer o arquivo de volta. Eu tenho uma cópia do seu último commit e agora você é capaz de reviver arquivos dos mortos usando Get. Agora, eu uso isso mesmo se eu não tiver um repositório git configurado no hub get, obter o bucket de órbita de laboratório. Eu uso isso mesmo quando eu estou apenas testando coisas em um projeto local ou eu só quero tentar quebrar algum código. E, você sabe, eu quero ser capaz de desfazer um monte de trabalho. Vou simplesmente configurar, entrar em um repositório no meu computador digitando entrar nele, e isso irá configurar um novo repositório get para mim, e então eu posso fazer para obter o anúncio que eu posso fazer, obter, confirmar, Obter check-out. Eu posso fazer todas essas coisas, e ele não necessariamente tem que ir para cima para obter hub, obter laboratório ou bit bucket. Então esse foi o seu pequeno curso intensivo sobre o recurso get check out que temos disponível para nós novamente. Check out pode ser usado para outra coisa. Vamos falar sobre isso na estrada, mas vamos começar a mergulhar em algo que é um pouco menos baseado em arquivos e um pouco mais baseado. 14. Origens e controles: Vamos falar um pouco mais sobre uma origem. Uma origem é realmente onde seu código remoto vai viver. Agora, se eu entrei nele e eu não conectei isso para obter hub, então atualmente não há origem remota. Agora podemos realmente ver todas as origens aqui fazendo obter Dash V. remoto e podemos ver que temos uma origem aqui para buscar e empurrar. A busca de dados é quando tentamos baixar atualizações e talvez aplicar essas atualizações ao nosso computador. E empurrando é onde nós vamos empurrar nossos arquivos do nosso computador para, digamos, levantar-se agora nesta origem ele diz que estamos usando get Atget hub dot com Então nós sabemos porque é chegar a isso. Está usando Ssh! Se você não estiver usando, ssh vai dizer https, obter hub dot com barra Caleb Julian slash obter traço essencial Não obter algo assim . Então esta é a nossa origem. E realmente tudo que isso significa é que temos um lugar distribuído no dedo do pé hospedando nosso casaco. Não, não precisa necessariamente ser “get hub”. Pode ser o laboratório. Pode ser um pouco balde, pode ser outro serviço. Ele não precisa necessariamente ser get hub agora. Acontece que estamos usando o Get, não é? Porque get hub é o nome da marca. Agora, a coisa boa por trás de ter uma origem ou por trás de ter hospedado remotamente código ou, neste caso, código distribuído é que há uma cópia oficial do seu código em outro lugar que não seja o seu computador. Agora, a coisa boa por trás disso é que os servidores podem acessar isso. Se o seu computador funcionar para morrer hoje e você comprou um novo laptop, seu laptop poderia acessar isso e você não perderia nenhum de seu trabalho. Se você quiser compartilhar este projeto com um amigo que possa contribuir para este repositório também, você poderia compartilhar este link e eles poderiam cloná-lo usando ssh ou https e eles teriam acesso a este casaco. Então, em vez de baixarem diretamente de você, eles baixam de um sistema distribuído, como obter hub, obter balde de órbita de laboratório. Agora, no nosso caso, nossa origem vai ser sempre obter-se, não é? Porque é com isso que estamos trabalhando aqui. Se tivéssemos dito que não queremos usar levantar-se queremos usar obter órbita de laboratório Bucket. Então isso que vocês estão aqui vai mudar não vai ter hub dot com. Ele vai dizer Obter laboratório ponto com Bem, independentemente, independentemente, quando nós digitamos um comando, empurrados origem mestre, obter push origem mestre, esta origem está sempre se referindo aqui. Tecnicamente, Tecnicamente, podemos ter outras origens e elas também não precisam ser chamadas de origem. Acontece que é que, por padrão, é chamado de origem. Se quiséssemos, poderíamos adicionar outro controle remoto. Poderíamos adicionar outro repositório para enviar também. Então poderíamos se tivéssemos adicionado outro repositório para adicionar ao qual não vamos, porque eu acho que isso fica um pouco confuso no início. Mas se tivéssemos outro que dissesse que não era origem, talvez se chamasse produção. Temos um repositório diferente para o nosso código de produção. Nós temos produção push e, em seguida, o nome da filial , que no nosso caso, vai ser mestre. Mas pode ser um nome de ramificação diferente recurso Nome de ramificação algo parecido com isso. E agora trocamos a origem por qualquer outra coisa que possa estar disponível para nós agora novamente. Não vamos adicionar uma nova origem. Só queria te mostrar o que é a origem, porque vamos digitar. Obter origem push, master ou obter empurrado o nome da ramificação Origin um pouco abaixo da linha. E então nós só queremos ter certeza de que estamos todos na mesma página quando se trata de todos estes quatro , quando se trata de obter é o que empurrar é o que é a origem e qual é o nome do seu ramo . 15. Ramificação de Git: Vamos falar sobre ramificação. Até agora temos digitado este comando algumas vezes. Seja empurrado, Origin Master. Então obter push em todos os commits que temos atualmente em nosso computador, empurrá-los todos para a origem, que acontece de ser get hub e para o ramo mestre. E se formos a um repositório, temos ramos diferentes aqui. Tecnicamente, Tecnicamente, só temos uma filial, mas podemos adicionar mais filiais agora. Um branch é realmente apenas uma cópia do trabalho original, mas quando você faz alterações no código, ele não copia todas as alterações. Ele realmente apenas armazena as diferenças e aplica-lo ou compará-lo em vez de quem quer que os ramos originais provenientes. Então vamos dizer que eu tenho este código aqui e digamos que você também tem este código. Mas você fez uma mudança nesse arquivo chamado Primeiro Empurrão e você muda isso para B algo completamente diferente. Bem, podemos fazer isso de duas maneiras que podemos trabalhar direto do nosso ramo principal. Mas se eu também estou trabalhando nesse arquivo, bem, Get não sabe quem vai estar certo quem vai estar errado. Então nós vamos ter algum tipo de conflito de código lá deve obter confiança no meu código sobre o seu código. Deve sobrescrever o seu código com o meu código ou vice-versa. Ele não sabe que a segunda maneira é que podemos criar um novo branch e criar um novo branch é realmente super fácil. Então, se eu claro que eu poderia fazer check-out Dash B que significa Branch, e eu estou apenas criar um novo ramo chamado New Branch porque eu não vou ser criativo com o meu nome de filial. Diz que mudei para uma nova filial e se eu conseguir uma ramificação, posso ver agora que tenho um ramo mestre que se alinha com aqui, e agora tenho uma nova filial. O problema com isso é que isso é tudo local porque eu não fiz um comando dit push ainda . Não há outros ramos em nossa origem. Ele não sabe sobre ele ainda. Agora eu poderia tentar fazer um commit nesta nova filial, mas infelizmente, quando eu tenho status, ele diz que não há nada aqui agora. Esta vai ser uma lição muito rápida sobre obter ramos porque nas próximas lições vamos trabalhar mais com ele. Então isso é mais uma introdução. Agora temos dois ramos e dizemos que temos um chamado mestre quando não é, digamos que temos, temos um chamado Mestre e temos um chamado New Branch. Se eu conseguir filial, você pode ver que estou atualmente em New Branch. Está destacado. Tem asterisco ao lado. Eu também posso gravar eu vou mover isso um pouco para baixo. Ele também tipo get check out, Mestre. E se eu digitasse, pegue o Branch de novo. Eu me mudei para o mestre, eu poderia fazer checar a nova filial e se eu conseguir status, não há nada lá dentro. E se eu conseguir uma ramificação também diz que quero dizer a nova filial. Agora, novamente, neste momento, nada vai acontecer. Você não vai ver nenhuma mudança porque nós não fizemos nenhuma alteração. Mas na próxima lição, vamos fazer uma nova mudança. Vamos adicionar um novo arquivo a este novo ramo e ele não vai tocar no ramo mestre agora. Uma maneira de pensar sobre isso é como uma árvore, como uma árvore literal, tria física. O mestre é o tronco da árvore. Então pense sobre este grande, grande tronco de árvore e todos os seus galhos são apenas estes pequenos troncos de árvores e ele só tem um pouco de codificação. Então tudo o que você está dizendo é que eu vou do mestre e verificar uma nova filial ou criar uma nova filial e verificar, certo? Um pouco de código. E a idéia é então incorporar esse pequeno pedaço de código de volta dentro do mestre. Então você não deve criar uma ramificação e fazer essas enormes mudanças supostamente criar uma pequena ramificação e fundi-la no mestre o mais rápido possível . E toda vez que você cria uma ramificação com um pequeno código e o mescla no mestre, falaremos sobre a fusão em algumas lições, eu acredito. algumas lições, Mas toda vez que você mescla algum código de uma de suas ramificações em sua ramificação mestre, sua base de código mestre vai ficar significativamente maior e maior, ou você fez algumas alterações. Você editou um arquivo e isso vai mudar sua mudança no dedo do pé. Sua base de código mestre ao longo do tempo. O bom disso é que você sempre tem seu histórico de comprometimento para sempre olhar para trás. Então vamos em frente e seguir direto para a próxima lição onde vamos nos comprometer com uma nova filial. Vamos nos certificar de que essa nova filial apareça aqui. 16. Compromisso com um novo ramo: na lição anterior, criamos uma nova ramificação. Então, se conseguirmos Branch, podemos ver que temos duas novas filiais aqui. Se você pular a lição anterior, tudo o que fizemos foi checar Dash B e depois o nome da filial. Então, novas filiais. O que? Eu chamo este agora. Isso não vai funcionar porque seu ramo já existe. Diz que uma filial fatal chamada New Branch já existe, então não posso fazer isso. Mas poderíamos criar outro ramo chamado qualquer outra coisa? Não vou fazer isso porque já temos uma filial. Agora, se eu quisesse voltar para o Mestre, eu poderia ir buscar o Mestre, obter o Branch, obter o novo ramo, obter o ramo, e você pode ver que mudamos de mestre. E depois mudamos para a nova filial. E é para isso que vamos trabalhar neste vídeo é a nossa nova filial. Então, se você está me acompanhando, você precisa ter certeza de que você tem uma nova filial aqui. Então vamos em frente e criar um novo arquivo para esta nova ramificação. Então eu vou criar um novo arquivo chamado novo arquivo de ramificação e isso vai ser super chato. Não há nada de chique aqui. E este é o novo arquivo da filial. Onley aparece na nova filial. Se eu fizer isso é Dash L. A. A. Podemos ver que temos um novo arquivo de filial. Se eu conseguir o status, temos um novo arquivo lá dentro. Então agora temos que preparar o arquivo, confirmar o arquivo, empurrar o commit para obter status. Obter anúncio novo arquivo de ramificação, confirmar novo arquivo de ramificação. Se eu conseguir o status de novo, não há nada lá dentro. Isso é bom. Eu poderia conseguir o mestre de origem push. Mas o mestre não é mais o ramo para o qual estamos empurrando. Essa era a filial em que estávamos trabalhando até agora, mas agora estamos em uma nova filial, então nossa origem não mudou. Nossa origem ainda é levantar-se. Mas queremos mudar nossa filial. Nossa filial é diz em Branch New Dash Branch. Então nós fazemos novo ramo traço agora apenas para diversão Z Vamos em frente e ver o que acontece quando nós empurramos para mestre obter push origem mestre Mesmo que nós estamos no ramo errado, mas diz que tudo está atualizado. Tecnicamente , não é. Temos um compromisso. Fizemos um novo compromisso aqui e tem que haver algum tipo de mudança. Então, se alguma vez vires que está tudo actualizado e dizes: “ Porque é que o meu código não está a ser empurrado para obter o hub? É por isso que provavelmente está tentando empurrar para o francês errado. Então vamos fazer empurrar origem Nova filial. E lá vamos nós. Isso foi adicionado. E se eu voltar aqui, sim, sim, você pode ver que há um pedido de puxar. Então agora estou na minha filial principal em obter hub e você não pode ver meu arquivo lá dentro. Mas você pode ver que Get Hub fez de fato, aceitar meu novo código na filial chamado New Branch. Então, se eu olhar para minha filial agora, eu tenho uma segunda opção chamada New Branch. E aqui eu tenho um arquivo chamado New Branch File. Agora, isso não existia no Master New Branch Fi só aparece na nova ramificação. Na verdade, isso está correto. Se voltarmos para mestre, esse arquivo não existirá no mestre. Então ele vai nos dar um 404 uma página faltando agora, apenas mais uma vez. O novo arquivo de ramificação não existe a menos que nós vamos para essa nova ramificação. Agora, o que é realmente legal sobre isso é se você está trabalhando com uma base de código que você sabe certeza é praticamente perfeita. E você só quer tipo de ramificação fora desse trabalho e, você sabe, testar algumas coisas ou escrever um novo código. Este é o lugar onde você usaria ramificação. Então, quando eu entro na minha nova filial, eu adicionei um novo arquivo e eu poderia fazer o que eu quiser. E isso nunca, jamais tocará no ramo mestre até que eu faça um pedido de pull ou se funda propositadamente de volta ao mestre. Agora, na próxima lição, vamos fundir-se em master usando a linha de comando. E isso significa que nosso novo arquivo de filial vai aparecer em nosso ramo mestre. Vamos fazer isso acontecer. Neste ponto, eu gostaria que você tirasse uma captura de tela de seus ramos em seu Rebo aqui, não minha revogação. Você não deveria estar trabalhando fora de Caleb Williams Slash Obter itens essenciais. Você deve ter seu próprio repositório. Quero que abra isso e faça uma captura de tela sobre essa nova filial. E então eu quero que você compartilhe essa captura de tela em seu projeto de compartilhamento de habilidades. E deve se parecer exatamente com o que você está vendo na minha tela aqui. Há um ramo mestre e um novo ramo. Qualquer coisa que você decidir nomear essa nova filial. 17. Merging de um ramo no mestre: Assassinato é o ato de pegar um ramo e aplicá-lo a outro ramo. Então, em sua lição anterior, se você está apenas sintonizando agora, criamos um segundo ramo chamado New Branch. E ele tem um arquivo chamado New Branch Arquivado um txt e que não existe no ramo mestre . Ele só existe em seu próprio ramo Agora, se nós dissessemos hey, novos ramos feitos. O trabalho que deveríamos fazer está feito, e agora queremos realmente fundir isso no ramo mestre para que todos possam usá-lo. Bem, neste vídeo, nós vamos pegar este ramo e vamos adicionar este arquivo ao branch mestre para que quando estamos olhando para o nosso ramo mestre aqui, vamos ver o novo arquivo tão realmente emerge. Pegar um ramo e fundi-lo, literalmente fundindo-o em outro rancho. Então, para isso, precisamos ter certeza de que estamos no ramo certo. Então obter Branch vai nos mostrar todas as nossas filiais. Obter check-out, Mestre. E se obtivermos branch novamente, isso apenas confirma que estamos agora em nosso ramo mestre e o que queremos fazer é unir novo ramo em mestre agora, antes de fazer isso, sempre, sempre, Certifique-se sempre de que está atualizado com a ramificação de destino. Então meus ramos alvo Mestre, Eu quero puxar novo trabalho para o meu ramo mestre. Mestre Ramos Agora meu ramo alvo. Então eu posso fazer isso com obter puxar origem mestre, Eu estou no ramo mestre em que corresponde aqui. Então isso vai procurar novas mudanças. Isso é Un get hub. Essa é a origem e no ramo mestre e ele vai aplicar essas mudanças em cima do meu código. Agora vou comandar isto. Nada vai acontecer. Diz que eu já estou atualizado porque get hub já tem tudo o que eu tenho e eu tenho tudo levantar-se tem no ramo mestre. Mas é sempre uma boa ideia atualizar sempre a ramificação de destino primeiro. Caso contrário, você poderia entrar em alguns conflitos de código bastante desagradáveis que você vai ter que resolver. E se você tiver que mudar 100 arquivos, isso vai ser muito, muito doloroso. Então sempre temos origem na atração, Mestre, antes que você surja. Agora eu vou rodar isso com ainda emergir. Esse é o comando. E eu vou fundir no ramo que eu queria ser adicionado ao meu ramo atual. Isso pode não ter feito sentido se eu pegar Branch. Meu branch atual é master e eu quero mesclar em New Branch em master. Então fique sabendo que estou no mestre e ele vai dizer, Ei, eu vou tentar fundir New Branch em mestre. Diz que foi encaminhado rápido. Há um novo Branch arquivou um txt. Um arquivo mudou uma inserção criada nova com um novo arquivo de ramificação nele. Então, se eu conseguir o status, não há nada lá dentro. Se eu fizer isso é Dash L. A. Eu posso ver meu novo arquivo de filial agora está lá. E se eu conseguir Branch, ainda estou no Master. Agora aqui está a coisa. Só porque nós fundimos localmente não significa obter Hub está ciente disso. Você pode ver que eu ainda estou no meu ramo mestre e ainda não tem aquele arquivo lá dentro. Então, agora que combinamos isso, temos que obter origem push novamente. Vamos pegar o Hub e empurrá-lo para o ramo principal dela. Então, o que? Nós fizemos, havia. Pegamos o código de New Branch e nos fundimos em um ramo mestre, mas apenas em nosso computador. Aquela coisa toda aconteceu no computador dela e levantar-se não sabe sobre isso com origem Push , Mestre. O que ele disse foi bom. Eu agora sei que há mudanças neste computador e obter hub agora precisa saber sobre eles . Então, quando eu atualizar esta página, veremos o novo arquivo de ramificação dot txt E quando clicamos nele, ele diz que o novo arquivo de ramificação só aparece na nova ramificação. Tecnicamente, esse conteúdo está errado porque agora ele aparece no mestre e podemos editá-lo se quisermos . Agora, este ponto. Faça uma captura de tela do seu histórico de confirmações e atualize seu projeto com esta imagem. Então, quando você estiver em seu repo de obter, vá em frente e clique em Isso confirma o texto. Mente diz quatro commits Faça uma captura de tela desta página em seu repositório e compartilhe isso em seu projeto de compartilhamento de habilidades. 18. Observando sua história de Git: Quando estamos olhando através do nosso repositório git, podemos olhar através de nossos commits aqui, e podemos ver todos estes diferentes começar agora. Nós também podemos fazer isso na linha de comando com bastante facilidade, e isso realmente vai entrar muito, muito útil um pouco abaixo da linha. Mas este comando que vamos usar frio, obter log e obter log, e isso permite que você veja as últimas alterações em um branch com bastante facilidade. E ele vai mostrar a pessoa que fez o comando para confirmar hash e enviar mensagem na data. Então, se eu conseguir o registro, você pode realmente ver que eu fiz todos os commits. Se houvesse outras pessoas fazendo compromissos nesta filial, então você veria o nome deles lá dentro. Aqui temos um hash de commit. Esse é o nosso hash exclusivo que identifica cada commit. Então é sempre diferente. Temos o nosso autor. Esse é o meu nome. Esse é o meu nome do ponto do usuário get config. Isso é o que nós adicionamos. Há muito, muito, muito tempo. Temos aqui o meu endereço de e-mail que vai parecer com o seu endereço de e-mail. Eu tenho isso desfocado apenas por razões de privacidade, e então nós temos nossa mensagem de confirmação. Agora eu uso git log com bastante frequência para comparar o trabalho de minhas filiais com o que remoto tem Isso me permite ver se o que eu tenho no meu computador é exatamente o mesmo que o que está no hub Get. Se eu tiver os últimos commits, então ótimo. Mas se não o fizer, talvez queira fazer um mestre de origem get pull. Então o que eu posso fazer aqui é que eu posso simplesmente dizer Hey, os últimos commits no meu computador é chamado New Branch file. E se eu apenas abrir este repouso, Se eu nunca tivesse ido para os commits em primeiro lugar, clique em quatro commits e você pode ver o meu último commit é um novo arquivo de ramificação. Então eu provavelmente tenho exatamente o mesmo código ou pelo menos o código atualizado que obter Hub está ciente. Agora, se esse não fosse o caso, se formos qualquer razão, você um código diferente, você poderia fazer puxar origem mestre, assumindo que você está no ramo mestre e ele iria atualizar seu ramo para você. Mas vamos falar sobre puxar um pouco mais na próxima lição. Agora, outra coisa é que você pode querer ir para cima e para baixo. Agora eu só encaixo tanto texto na minha tela porque eu fiz isso um pouco maior do que o que eu costumo usar. Mas eu posso ter a página para baixo ou a seta para baixo ou a letra J para que Jay me mova para baixo . K vai me mover para cima, para baixo, seta para baixo, para cima, seta para cima. E, dependendo da sua configuração atual com o terminal, você poderá usar a página para cima e para baixo também. E para simplesmente sair dessa, você apenas aperta a letra Q. de desistir. 19. Baixando atualizações do GitHub: de vez em quando, temos me visto Digitar este comando, obter puxar Origem, Mestre. E eu continuo dizendo, você sabe, se houver mudanças no Get Hub que você não tem apenas tomar este comando e você vai obtê-las . E isso só se aplica à sua filial atual. Então, se fosse uma ramificação diferente, você digita obter origem pull e, em seguida, sua nova ramificação se você estiver atualmente nessa ramificação. Mas vamos explorar como esta piscina realmente funciona um pouco mais. Então, as primeiras coisas primeiro. Eu sei que não há mudanças no meu rebo no meu ramo mestre, então eu vou fazer um get pull origem mestre. Vamos ver se diz que já está atualizado. Agora, vamos fazer isso como se alguém estivesse editando este código assim por diante Get hub. Vamos entrar. Edita nosso arquivo Leia-me. Eu vou clicar neste pequeno ícone aqui e eu posso editar isso diretamente no get hub. Agora este arquivo leia-me está tomando uma sintaxe chamada markdown para que eu pudesse adicionar notas de implantação. Eu poderia adicionar notas de encenação. Eu recebo um anúncio como usar este repo notas, qualquer coisa assim e apenas para fundos estes. Vamos colocar um pouco de Lauren Ipsum em ambos e vamos dividi-los. Agora. Se você não está familiarizado com Mark para baixo, eu sugiro dar uma olhada no Mark para baixo porque obter hub, obter laboratório e praticamente qualquer tipo de relatório. Há realmente depende de Mark para baixo um pouco para os arquivos Read Me. Vamos avançar e pré-visualizar as nossas alterações. E então temos um para cada um ter um H. um. Temos uma mensagem normal lá dentro. O verde significa que foi isso que adicionamos. Vamos em frente e confirmar essas mudanças diretamente. Chame o hub. Isso significa que nosso computador local não vai ter essas alterações. Algo a dizer, atualizado, leia-me ponto MD marcado para baixo e uma descrição estendida opcional. Não vou colocar isso aí, mas você pode se quiser, e ele vai me perguntar se eu quero me comprometer diretamente no ramo mestre ou se eu quero criar um novo ramo para isso, cometer e começar um pull request. Bem, eu quero ir direto para a ramificação Master apenas para esta demonstração de qualquer maneira, então vamos confirmar essas mudanças, e se eu voltar aqui podemos ver que meu arquivo Leia-me agora foi atualizado. E há um commit aqui chamado Updated. Leia-me ponto MD é agora cinco commits Há costumava ser quatro e isso agora está na minha lista de commit e podemos ver todas as mudanças que eu fiz aqui. Então eu tenho este novo commit e no meu computador se eu conseguir log, meu último commit é novo arquivo de ramificação. Estou um compromisso atrasado agora. Então agora o que eu posso dio é que eu posso imediatamente puxar para baixo as últimas mudanças que eu posso fazer. Obter origem de puxar, Mestre. E o que isso vai para Dio vai levar este commit e vai baixá-lo direto para o meu computador. Então, se antes de eu correr que eu dirijo gato, lê-me, você pode ver que só há uma linha aqui só para obter coisas essenciais. Eu vou pegar puxar origem mestre. Na verdade, eu nem vou fazer isso ainda. Vou primeiro verificar a minha filial. Gostaria de ter certeza de que estou no meu ramo principal. Então, estou no meu ramo principal. Obter puxado Origin Master, e você pode ver que ele está fazendo um monte de coisas. Desempacota os objetos rapidamente, enviou-me, lê-me. Há algumas mudanças em suas nove inserções. E novamente, se eu fizer Cat me ler dot MD, podemos ver que isso não é apenas uma linha mais. É um monte de linhas, e se eu conseguir o registro, você pode ver que o mais recente aqui está atualizado. O arquivo MD do ponto de permanência. Agora, em qualquer momento, se você está tentando empurrar seu trabalho para obter hub ou obter bucket de órbita de laboratório ou qualquer tipo de repositório, e ele está dizendo que ele tem trabalho que você não tem, você não será capaz de fazer um get push origem mestre. Então vamos configurar isso como um exemplo também. Vamos editar um outro arquivo um novo arquivo de ramificação e vamos editar isso. Vamos chamar esse novo arquivo de ramificação só aparece em New Branch que é um novo arquivo de ramificação aparece no Master e um novo branch. Isso é o que vai dizer. Este é o novo texto que este arquivo vai ter, e nós vamos dizer atualizar novo arquivo branch dot txt e nós vamos confirmar isso diretamente para master. Então não, se eu entrar no meu código, eu posso ver todos os meus commits. Eu tenho seis commits lá agora atualizar novo arquivo branch dot txt Mas se eu receber log, eu não tenho isso. Só me atualizei. Leia-me Dot MD. É a última que tenho. Então, tecnicamente, estou um comprometido atrás. Agora vamos em frente. Corra, obtenha status. Nada mudou. É Dash L. A e I. Vamos adicionar um novo arquivo. Então eu vou criar um novo arquivo apenas tocando. Ele vai ser um arquivo vazio, e ele vai ser literalmente chamado de arquivo vazio dot txt ls Dash L. A. Você pode ver meu novo arquivo está lá. Não há nada nele. Obter status. Obter adicionar meu arquivo vazio, obter status, obter commit, adicionar um novo arquivo vazio, e eu realmente digitar isso. Então eu cancelei isso. Lá vamos nós adicionamos novo achado vazio. Se eu conseguir log adicionado, novo arquivo vazio está em Seu atualizado ler me está lá, mas eu não tenho atualizado novo ramo para o inferno dot txt. Então agora há algum tipo de problema o trabalho que eu tenho e o trabalho que obter Hub tem seu diferente. E se eu conseguir o mestre de origem push, você vai ver um ar que se parece exatamente com este campo para empurrar alguns árbitros. Então, algumas referências. Basicamente, se você apenas ler isso, ele irá dizer-lhe exatamente o que fazer. Obter é muito útil dessa forma. Mas está dizendo que nossas atualizações foram rejeitadas porque o controle remoto contém trabalho que você não tem tão remoto é a nossa origem. Isso é Get Hub. Está dizendo que eles têm um trabalho que nós não temos em nosso computador, e isso geralmente é causado por outro repositório empurrando neste caso. Isso é porque fizemos mudanças aqui, mas não trouxemos essas mudanças para o nosso computador. Então nossa versão local do Get não sabe o que fazer e o mesmo com levantar-se, levantar-se é como, oh , bem, há trabalho que vocês têm, mas eu também tenho algum trabalho. Então, o que eu faço? E este é o começo de um conflito, e nós precisamos resolver esse conflito um pouco. Agora, ele diz, você pode querer primeiro integrar as alterações remotas. Exemplo usando Get pull origin, master. E você sempre pode ser empurrado. Ash, cinzas ajudam a ver mais notas sobre encaminhamento rápido. Então vamos fazer isso. Obter puxar Origin Master. E agora está me pedindo para fundir algum trabalho. Agora o que estamos fazendo aqui é dizer, “ Ei, Ei, comece a trabalhar no Branch Master”. Tenho um trabalho no Branch Master. Precisamos fundir essas duas coisas. E então aqui podemos apenas escrever uma nova mensagem. Costumo deixar-nos por defeito, mas podes escrever uma nova mensagem aqui. E para isso estou usando Nano. Então eu quero bater no controle. Oh, e isso só vai salvar meu arquivo. Mas não renomeie seu arquivo . Basta pressionar, entrar e, em seguida, controlar X para sair. E isso vai continuar. Agora, se conseguirmos o registo, tenho a minha fusão. Isso é de obter hub próprio de deuses. Meu novo arquivo e eu temos o arquivo que era do Get Hub. Então, aplicou meu trabalho em cima do trabalho “Get Hubs “e então houve um Commit de Fusão em cima disso. Agora isso fica um pouco confuso. Eu sei disso, mas se formos empurrados Origin Master porque temos um novo commit dessa mesclagem que obter Hub não sabia sobre isso agora é Ok, eu tenho todo o trabalho de Get hub. Eu tenho todo o trabalho de mim Ele foi fundido com sucesso e agora nós podemos empurrar tudo isso para obter ajuda e obter Hubble. Digamos que eu entendo exatamente o que você está tentando fazer. Então, se eu simplesmente atualizar, podemos ver que eu tenho meu novo arquivo aqui. Esse é o meu commit e o commit de mesclagem. E se eu voltar para a filial principal, confira meu arquivo vazio. Não há nada lá dentro. Esse é o meu arquivo vazio. E então se você tiver esse problema onde chegar em casa ou pegar o balde de Labra é como, Ei, nós temos trabalho, mas você não tem. Isto é o que você faz. Você começa pull origin, master, master, salve essa mensagem de commit e então você pode ser empurrado Origin Master No, isso é assumindo que não há conflitos de código em tudo. Isso significa que isso está assumindo que duas pessoas não editaram exatamente o mesmo código na mesma linha exatamente no mesmo arquivo. Se isso acontecesse. É um processo totalmente diferente, não um processo totalmente diferente. É um processo muito semelhante, mas é um pouco diferente. Mas então você resolveria esses também, que não vamos entrar neste vídeo. Faça sua mensagem de commit e, em seguida, obter push origin master e tudo vai afundar mais uma vez . Agora, uma coisa a prestar atenção aqui é quando nós temos log e eu deveria ter abordado isso na lição get log. Para ser honesto, temos o nosso compromisso. Mas também temos essa coisa chamada cabeça. Este é o lugar onde você começa programa acha que você está atualmente. Diz que a tua cabeça é aquele mestre. E se voltássemos no tempo a qualquer um desses outros compromissos, essa cabeça mudaria. Essa é uma versão muito simplificada dessa explicação. Mas essencialmente, como isso funciona é cabeça é onde get pensa que estamos atualmente, e estamos apontados para o nosso ramo mestre. Então, se alguma vez vires isso, é o que isso significa. Isso só significa que porque obter é um pouco de, ah , máquina do tempo, que estamos atualmente exatamente onde deveríamos estar. E é exatamente onde o mestre está, isso também fica um pouco confuso, e eu cubro isso um pouco na estrada também. 20. Como obter atualizações do GitHub: na última lição aprendemos mais sobre obter puxar, obter puxar, origem, mestre e tipo de o que fazer. Se o código no Get Hub é diferente do código em nosso computador agora, o que a pesquisa tecnicamente faz? É que ele baixa todo o nosso código ou todo o código, vez de obter hub armazena na memória por, digamos , como uma forma de pensar sobre ele armazena nos direitos de memória do seu computador. Todos os commits para a sua versão local do Get on Your Computer e, em seguida, ele pula direto para o topo. Agora, o que acontece se levantar tivesse algum trabalho que não tínhamos, mas não queríamos necessariamente o trabalho deles. Queríamos ver o que havia no trabalho deles. Então vamos em frente e mudar o arquivo vazio. Vamos renomear isso para um arquivo não vazio, e este não é um arquivo vazio. Vamos realmente mudar isso de um arquivo txt para um arquivo markdown e visualizar nossas alterações. Isto não está vazio. Arquivo fora. Vamos jogar um pouco de Lauren ipsum lá dentro. Antevisão esses estranhos. Certo, isso não é um arquivo vazio. Tome um pouco quente. Se algum texto atualizado, Atualizado o arquivo vazio para não estar mais vazio. E esta é apenas minha mensagem de commit e eu vou enviar isso diretamente para o mestre, e eu estou apenas configurando para nós um exemplo aqui. Então, agora, quando eu voltar para o meu ramo mestre e clicar em commits, vamos ver que Get Hub tem esse commit particular que eu não tenho no meu computador porque você pode pensar nele como outra pessoa escrevendo esse código, e eu simplesmente não tê-lo no meu computador ainda. Então, se eu conseguir log, você pode ver que meu último compromisso é Merch Master Branch of Get hub dot com blah, blah, blah. É este aqui em baixo, mas não tenho este código agora. Vamos ver. Não quero necessariamente baixar esse código e aplicá-lo. Talvez eu só queira ver o que está disponível lá fora. Eu poderia conseguir a origem, Mestre. O que isso vai fazer é baixar todos os códigos ainda e colocá-lo no meu computador, mas ele não vai aplicar o código. Então o que quero dizer com isso antes de executar este comando é se eu fizer, talvez não façamos isso. Vamos apenas olhar para isto. Temos um ano de arquivamento chamado Arquivo Vazio, mas no ponto central, mudamos isso. Para ser chamado Não arquivo vazio, não arquivo vazio ponto MD Digamos que ainda queremos trabalhar com arquivo vazio, mas nós só queremos ver o que muda o ar lá fora. Podemos ir buscar a Origem, Mestre. E o que isso fará é baixar o fato de que há esse commit aqui que esse commit existe, mas não vai aplicá-lo ao nosso código ainda. Então que baixou o código mais recente. E se eu fizer é Dash L. A. Mais uma vez você pode ver que isso não mudou. Ainda tenho meu casaco atual. E se eu conseguir o registro, não consigo ver mais nada. Mas tecnicamente tenho acesso a isso. Comprometer-se. Agora vou dar uma olhada em um comando legal que eu gosto de usar chamado Get LG. E isso me mostra a árvore inteira. Então, se eu fizer isso um pouco menor aqui, podemos ver que minha cabeça é aquele Mestre, que é atual Merge Branch Master e o Origin Master. Onde get hub está, e a ramificação mestre em Get Hub está atualmente fora de commit chamado atualizado, o arquivo vazio não deve estar mais vazio. Então, tecnicamente, eles estão um passo à frente e você pode realmente ver que eles estão commit é literalmente maior do que são cometidos um passo à frente. Agora isso é legal, porque nós podemos realmente ver que há uma mudança, mas nós simplesmente não aplicamos isso ainda. Então se fizermos é Dash L. A. Podemos ver que temos o arquivo vazio aqui. E se quiséssemos, agora poderíamos obter puxar o Origin Master, e isso vai nos encaminhar exatamente para onde o Hub está atualmente. Então isso não precisava baixar nada que isso apenas nos encaminhou rapidamente. Isso é o que é avançar rápido. Então, se eu digitar g o g novamente, Ngog é, ah, comando personalizado que eu tenho ele significa Obter LG. É apenas uma versão mais agradável do Get log, e se você quiser que você também pode apenas Google que ele está disponível. É um comando de código aberto que você pode adicionar, mas esse não é o objetivo desta lição. O ponto desta lição é que costumávamos estar aqui e agora estamos aqui. Podemos ver que a cabeça está apontando para o mestre. É onde está o Mestre. Costumava ser aqui em baixo e o Mestre de Origem está aqui em cima. Onde estava o tempo todo? E tudo o que fizemos foi aumentar o nosso programa desta linha onde costumava ser. E agora é com esta linha. Então eu faço é Dash l. A. Mais uma vez podemos ver que nós não temos um arquivo vazio mais e nós não temos arquivo vazio. Então, se nós cat não arquivo vazio ponto MD podemos realmente ver que há agora que o código lá que é o código ou que é o texto em vez que eu adicionei de obter ponto hub com Então realmente obter buscar é muito como um get pull origem mestre. Mas realmente as diferenças obter pull Origin mestre é praticamente o mesmo que obter origem buscar, mestre e executar Get Emerge Origin Master. Então, é realmente dois comandos em um get fetch é simplesmente ir para baixar as atualizações mais recentes . Mas isso não vai aplicá-los para você ocasionalmente. Isso realmente vem a calhar. Você só quer ver quais mudanças estão lá fora, no caso de haver algo no caminho que você possa precisar resolver agora. 21. Checkout: viagem de tempo código: Vamos verificar um dos recursos realmente legais por trás Get get, nos permite olhar através de nossa história, nosso histórico de código e viajar através do tempo como quase literalmente viajar através do tempo de código. E então nós temos usado este comando chamado Obter Log e nos dá este pequeno hash agradável. Também podemos ver esses hashes em Get Hub. Quando entrarmos em nossa história de comprometimento, confira seus commits e podemos ver essa pequena idéia aqui. Isso é apenas o início da confirmação de hash ID. ID Então, estamos no momento atualizado o arquivo vazio para não estar mais vazio, e esse é este aqui. Agora digamos que, por qualquer motivo, nós realmente queremos voltar no tempo, e queríamos ver com o que o repo começou inicialmente enquanto nós poderíamos apenas clicar neste botão. Esta é uma maneira mais fácil de fazer isso. Mas se quiséssemos fazer isso diretamente da linha de comando, e às vezes há uma boa razão para fazer isso diretamente da linha de comando é que nós só queremos copiar esse hash I D. E nós vamos executar um checkout, obter check-out, e em vez de mestre, que é um ramo ou novo ramo, que é um ramo que criamos em um ponto no tempo poderíamos verificar literalmente o hash I d. E assim que apenas copiou para a minha área de transferência. E vou colar isto agora. Diz que não há tempo para verificar este pash. Estou em um estado de liderança. Posso olhar em volta. Eu poderia fazer mudanças experimentais e cometê-las. E eu posso descartar qualquer compromisso que eu faço sem que isso impacte qualquer um dos ramos executando o suficiente outro check-out, que é muito legal. Então, basicamente, eu voltei no tempo e posso verificar o que eu quiser. Posso mexer e ver o que está acontecendo. Agora, se eu fizer isso é Dash L. A. Eu só tenho um arquivo lá dentro. Esse é o arquivo “Leia-me”. E foi exatamente com isso que nosso repo começou quando começamos todo esse curso. Esta era a única coisa que tínhamos em nosso repositório. E se eu conseguir registro, ele acha que não há mais nada lá para mim. Ou pelo menos só vai me mostrar que não há mais nada lá para mim e diz que minha cabeça está neste compromisso atual, mas não está mais apontando para o mestre. Não está apontando para uma filial, e isso significa que estou em um estado de chefe destacado. Então, se eu quisesse fazer alterações e empurrá-las para o código get mais recente, então se eu quisesse basicamente refazer todo esse relatório, livrar de todas essas coisas que eu não posso não em um estado separado. De qualquer forma, não é assim. Mas o que eu posso fazer é olhar em volta e dizer, Ei, houve aquele arquivo Leia-me Vamos viajar mais no tempo e vamos para o novo Branch Farms e uma cópia disso e obter check-out ok e eu poderia fazer contra status não é vai me mostrar qualquer coisa, exceto que minha cabeça está desligada. que, a propósito, se você ver isso, cuidado para não trabalhar muito, porque pode não salvar a maneira que você acha que vai salvar agora se eu fizer uma última corrida , L. R. Eu posso ver que tenho alguns arquivos novos aqui. Isso é fixe. Então eu estou meio que indo para a frente no tempo. Eu posso ver o que foi adicionado a este commit em particular e eu poderia continuar fazendo isso. Eu poderia ir praticamente a qualquer lugar que esteja no ramo principal. Se, por alguma razão você estava na nova filial, você tem que verificar sua nova filial. Você faz que você faria, você fez para fazer obter check-out novas marcas que você originalmente teria feito isso. Eu não vou fazer isso. Então eu cancelei e então você poderia verificar qualquer um desses hashes Agora, quando eu tenho status, o interessante é que isso diz que minha cabeça está desligada e isso não é necessariamente uma coisa boa, porque se eu fiz quaisquer mudanças, isso vai ser realmente difícil para mim voltar para onde o mestre está e para mim para recolocar minha cabeça ou pensar sobre isso assim para o chefe do programa pensar que é o nosso tempo atual aqui e agora no presente, Precisamos de verificar um nome de ramificação real. Então, se eu der uma olhada Mestre É Dash L. A. Há todo o meu trabalho que eu posso para obter log e você pode ver aqui em cima cabeça agora aponta para mestre . Também é exatamente o mesmo lugar onde meu computador acha que é o Origin Master. Agora vamos voltar a outro ponto no tempo e vamos criar uma nova ramificação. De lá, podemos voltar para o mestre. E fez. Ele fez. Ah. O que tem nisto? Comprometa dois arquivos. Leia-me e primeiro empurre dot txt. Ok, vamos em frente e copiar este haxixe. Vamos verificar esse compromisso em particular, e o que posso fazer a partir daqui é Aiken Branch fora disso. Comprometa em um novo branch, e ele só terá esses arquivos. Não terá nenhum dos outros arquivos. Então vamos em frente e fazer verificar o Dash B para uma filial. Vamos chamar isto de ramo de dobra temporal. E vamos tocar em um novo arquivo chamado Time Warp dot txt. Por que temos status? Eu posso ver se um novo arquivo chamado Warp Tempo pega Adam e em todos os arquivos, get commits este arquivo com uma nova mensagem. Vou chamar esse tempo de dobra de trabalho. Obter origem push. Agora, quando você aprender e obter seus dedos estavam indo para querer digitar, obter Bush origem mestre o tempo todo. Na verdade, não está certo. Estamos no ramo de dobra temporal. Então dobra do tempo, ramo Dash. Muito bem, vamos voltar ao nosso repositório principal aqui e debaixo das filiais. Temos um novo ramo, temos um novo ramo e temos um ramo de dobra temporal. Se eu entrar no ramo da guerra do tempo, vocês verão que só temos os três arquivos que temos que ler para mim e o primeiro empurrão, isso é o que tivemos quando verificamos este commit originalmente. Então não tínhamos todo o outro trabalho que fizemos. Nós só tivemos ler para mim e primeiro empurrar dot txt. E então nós adicionamos um novo arquivo chamado Time Warp dot txt e nós apenas tocamos nele, que significa que não há nada lá dentro. Simplesmente fizemos com que existisse. Clique acidentalmente nesse link. Então, vamos voltar. E se eu digitar obter login aqui, você pode realmente ver que minha cabeça está agora em uma ramificação adequada, não desanexado mais tempo Origem. Onde filiais no mesmo lugar onde estou e a mensagem de confirmação era dobra temporal. E se eu conseguir Branch, você pode ver que há ramos diferentes. Agora, por que diabos você usaria isso? Bem, quando você está olhando para o projeto de outra pessoa, talvez você queira voltar no tempo porque talvez eles fizeram uma mudança com a qual você não concorda necessariamente. Talvez no meu ramo mestre, eu fiz uma mudança para chamar isso de arquivo não vazio DM e você discordou disso. Bem, você poderia voltar no tempo para um compromisso antes de eu fazer essa mudança, fazer um novo ramo fora disso e depois trabalhar completamente fora de lá. E assim você não tem nada desse trabalho lá, então realmente voltaram no tempo. Você disse, quer saber? Todas as coisas do que quer que este compromisso tenha sido para agora apenas se livrar dele. Você não quer nada disso. Isso é uma coisa muito boa que você pode fazer com check-out agora pessoalmente, como alguém que usa obter todos os dias, eu realmente não usá-lo assim. Eu uso o dedo do pé cutucar um pouco para ver diferentes versões das coisas. Então, por exemplo, Weg conta um CMS baseado em python, e nós temos muitas ramificações diferentes aqui, e eu realmente clique nesse. Isso não é nada o que eu queria fazer. Temos muitas filiais diferentes aqui, e estamos atualmente na versão 2.8. Mas digamos que nós adicionamos um monte de código aqui e eu realmente não gostei da direção que esperar até ir. Eu poderia dizer, Ei, 2.5 foi o último lançamento bom. Eu poderia verificar este commit, fazer uma nova ramificação fora dele e trabalhar fora disso inteiramente apenas no meu próprio computador. Ou eu poderia apenas verificar este commit e no meu computador. Eu poderia olhar através de todo esse código no meu editor, e ele iria desfazer todo o trabalho da versão 2.67 e 8, e ele iria apenas me mostrar a versão 2.5 trabalho. E eu uso isso quase todos os dias. Na verdade, isso é muito mais importante. Eu também verificar através get hub bem, só porque às vezes é um pouco mais rápido para mim apenas clicar através, obter ajuda e ser como, Oh, que versão eu preciso primeiro em 2.0 ponto X? Vamos dar uma olhada neste código-fonte agora para terminar isso. Vamos em frente e funde-se. Vamos dar uma olhada Mestre, obter mesclagem Time Warp Dash Branch Vai me perguntar se eu quero mesclar o tempo de Branch onde? Eu vou dizer sim. Então controle sobre o dedo direito para fora para o arquivo e, em seguida, digite para salvá-lo. Então controle Oh Em seguida, entre em seguida, controle X para sair. Isso é usar o Nano. Por que você tem Branch? Você pode vê-lo no Mestre se eu conseguir LG ou obter log em vez disso você pode ver ramo de trabalho de ramificação emergiu em você e agora eu vou realmente voltar no tempo. Eu fiz uma mudança e eu a trouxe adiante no tempo, o que é muito legal. Isso chega a ser um pouco viajado no tempo para ser totalmente honesto, mas é realmente muito legal que possamos fazer isso agora. Como sempre, isso não aparece no hub get porque a última coisa que precisamos fazer é obter push origem Master, porque esse é o ramo em que estamos trabalhando. Nós emergimos ramo de dobra do tempo em mestre então queremos empurrar isso para cima para obter hub e fazer fazer fazer fazer lá é hora de trabalhar Txt nada nele E agora nós temos três ramos 22. Arquivos README.md: Tudo bem, vamos dar uma olhada no nosso arquivo Leia-me. Então este é o nosso Fundo Leia-me. Já trabalhamos com este antes. Agora um me ler é sempre escrito nesta coisa chamada uma linguagem marcada para baixo. Muito bom. Suponha que não seja realmente uma língua. É só uma forma de, ah, escrever títulos maiores, títulos menores, links de texto normais, coisas assim. E é literalmente chamado de Mark para baixo. Isso é o que o leia-me dot m d significa MD está marcado para baixo. Agora, cada projeto que você tem deve ter algum tipo de me ler arquivando aqui, e em algum momento eu vou mudar isso, me leia longe de apenas obter itens essenciais com implantação, notas de preparação e todos os tipos de outras coisas e colocar alguma informação real aqui. Agora Mark para baixo é uma maneira muito interessante de escrever novos impostos. Agora, há um monte de editores de visualização de markdown diferentes lá fora, mas eu sempre gosto de ir direto para a fonte sempre que possível e ver exatamente como get hub vai tipo de renderizar isso. Então nós temos o essencial no topo aqui. Mas se escrevermos obter itens essenciais com dois sinais numéricos em vez de apenas um. Você pode realmente comparar a diferença aqui, então a borda verde apenas significa que isso é novo, e você pode ver que este texto é maior do que este texto. Você também pode fazer links, adicionar listas, adicionar citações, coisas assim. Eu não vou repassar todas as maneiras diferentes que você pode escrever markdown porque esse é o seu próprio mini curso por conta própria, eu acho. Mas quando se trata de anotar a marca por um ano para o seu projeto, você provavelmente vai querer algum tipo de informação útil lá dentro. Sobre o que é o seu projeto? O que o leitor não deve? Existem regras que contribuem? Porque às vezes existem certas regras para contribuir para um projeto de código aberto. Se alguém quer se envolver, como é que se envolvem? Você tem um determinado fluxo de trabalho? Eles devem seguir qualquer coisa assim Isso é geralmente informação útil que você colocaria dentro de seu arquivo Leia-me ponto MD Now. Geralmente, eu coloco tudo que é que eu acho que é importante como alguém que está vindo para um projeto pela primeira vez na história. Eu quero ver coisas que vão pertencer a mim e e meu interesse envolvendo este projeto, e também é uma boa maneira de olhar por aqui e ver o que é o projeto . Então talvez você tenha um projeto que é apenas um projeto de reação, e é suposto renderizar algum Jace em dados ificados de um pedido Ajax. Você poderia escrever isso no seu arquivo Leia-me. Então, de novo, não vou fazer nada conosco neste momento. Farei isso um pouco mais tarde. Mas o que você pode fazer e o que você definitivamente deve fazer é sempre que você tem um projeto, você deve atualizar seu arquivo leia-me também. E, na verdade, o que eu gostaria que você para dio é atualizar seu arquivo Leia-me dot MD e, em seguida, tirar uma captura de tela dele e atualizar seu projeto de compartilhamento de habilidades. Mostre-me o que você leu para mim dot arquivo MD Parece que ele não precisa ser fantástico. Ele só precisa basicamente existir com um pouco de informação básica sobre ele. Vá em frente, dê uma chance, e quando estiver pronto, vamos para a próxima lição. 23. Visualizando diferenças de arquivos: Quando você faz uma alteração em um arquivo existente, você pode realmente ver suas diferenças antes de submetê-las para mim. Eu fiz um monte de pequenas anotações e pouco ato para fazê-lo em fazer em meu código. Eu só escrevo essas coisas o tempo todo só para me lembrar um pouco antes de enviar um arquivo. Então, para ver as diferenças no arquivo, ele realmente vai mostrar a diferença entre o arquivo quando ele foi submetido pela última vez e o que você tem atualmente. E você só faz isso com get def e, em seguida, nome de arquivo dot e x t, qualquer que seja a extensão. Então eu vou editar um arquivo aqui, então vamos fazer vim me ler. E novamente, você não precisa usá-los. Você poderia usar literalmente qualquer outra coisa, e eu vou colocar uma nova linha aqui algumas coisas novas em me ler e eu apenas jogar em um ipsum quente. Então eu vou escrever e sair desse arquivo. E agora se eu fizer um status get, podemos ver que eu realmente tenho um arquivo modificado do meu leia-me aqui. E se eu conseguir a def. E eu só pego essa cópia de nome e colado lá dentro. Ou apenas digite. Você vai ser capaz de realmente ver que eu me livrei desta linha aqui e obter é realmente muito inteligente. Então eu me livrei do título das notas de teste, e eu o substituo por como usar essas notas de repo. E eu também removi como usar essas notas de repo com algumas coisas novas aqui. Então, na verdade, quer saber? Foi uma demonstração complicada. Só porque fique esperto o suficiente para perceber que você mudou certas linhas e nós realmente digitou Lauren Ipsum exatamente da mesma maneira. Lauren, se alguém está antes, então isso não mudou. Então o que eu vou fazer é refazer todo esse exemplo. Então vamos em frente, e eu vou apagar tudo isso neles, e eu vou escrever algumas coisas novas aqui, então eu apaguei todas essas coisas. E se eu conseguir o status, eu posso agora vamos nos ler e fazer diff me ler e podemos ver. Lá vamos nós. Isto é muito melhor. Todo este vermelho é o material que eu apaguei e o verde aqui embaixo é o que eu adicionei . E agora o que eu costumo fazer antes de enviar um arquivo é que eu sempre, sempre farei isso. Este é o meu fluxo. E isso funciona muito bem para mim, porque mais uma vez, adiciono muitas notas e comentários e dois DUIs no meu casaco. E isso me ajuda a lembrar o que devo fazer ou deixar notas para outras pessoas. Então eu faço isso obter status antes de me comprometer e eu fazer diff me ler e eu passar por isso apenas linha por linha. Sim, eu não quero isso. Não quero isso, não precisa, não precisa, não precisa, não precisa disso, e isso parece bom. Ok, então se isso parece bom para mim e então eu tenho status novamente porque eu sempre quero ver o que está no meu e no meu status lá. E ah, então eu poderia fazer, obter adicionar Leia-me se eu estou feliz com ele. Caso contrário, eu posso continuar modificando-o e, em seguida, eu simplesmente cometer Read me update commit Não é uma mensagem muito boa, mas bom o suficiente para o momento. Boa origem empurrar mestre porque esse é o ramo. Eu gemo. E quando eu voltar aqui, veremos que minha leitura me atualizou. Agora não tem que ser só o seu arquivo “Leia-me”. Pode ser qualquer outro arquivo. Se você tiver quaisquer outros arquivos nos quais você fez alguma alteração, você pode fazer um git diff sobre eles e você pode ver a diferença. Verde sempre significa que você adicionou algo vermelho sempre significa que você excluiu algo. E no nosso exemplo anterior, ainda posso ver isso no exemplo anterior? Sim, Get foi inteligente o suficiente para perceber que mudamos o título aqui. E tecnicamente, o Lorde Ipsum que escrevemos não mudou tecnicamente. Excluímos um, e colamos exatamente da mesma maneira. Então chegar foi como, na verdade, esta linha não mudou nada. Então eu não vou guardar isso como uma mudança porque tecnicamente você não mudou nada . Então é por isso que eu meio que queria me afastar desse primeiro exemplo. Mas é assim que se faz. Obter def. E, na minha opinião, você deve sempre fazê-lo, obter diferentes todos os arquivos que você está modificando antes de submetê-los 24. Como ignorar arquivos: Vamos olhar para ignorar alguns arquivos porque às vezes nossos programas de computador criarão arquivos que não queremos adicionar. Um bom exemplo é em um Mac que muitas vezes você verá dot ds store em outros computadores. Ele pode ver um ícone de ponto ou algo assim que você não queira. Ele acrescentou. Para o seu repositório, não é apenas um arquivo útil. Então o que eu vou fazer é criar um novo arquivo aqui chamado Dot to Do. E esta vai ser a minha lista pessoal para fazer. E aqui isso vai ser apenas marcar, fazer uma coisa, fazer uma coisa, fazer outra coisa, e quando eu fizer isso, obter status. Isso vai dizer que eu tenho um novo arquivo. Tenho um novo arquivo não rastreado aqui. Mas e se eu não quiser realmente confirmar esse arquivo? Bem, então eu sempre vou ter que classificar através de todos os meus arquivos que eu não posso nunca usar get add dash ou get add dot porque ele sempre vai adicioná-lo Em vez disso, o que eu posso fazer é criar um novo arquivo chamado dot get ignore, e mais uma vez você não precisa usá-los. Você não precisa usar Nano. Você pode usar código V s sublime, qualquer coisa assim. Mas este arquivo precisa ser chamado de ponto e ser ignorado é chamado de arquivo ponto. E aqui, tudo o que fazemos é colocar uma lista de arquivos que não queremos. Você comete então qualquer coisa chamada ponto para fazer arquivo. Também vou colocar a loja de pontos aqui porque não precisamos disso. E quer saber? Talvez eu não queira cometer nenhum arquivo J peg por qualquer motivo. Quero dizer, eu me livro de arquivos JPEG e arquivos J Peg, mas P e G e presentes e tudo o que eles estão bem, então agora nós vamos ativamente ignorar para fazer arquivos DS armazenar arquivos J Peg e J Peg. Agora, quando eu fizer isso, teremos status com isso. Meu arquivo Get Ignore aparecerá porque isso é novo. Mas você percebe que fazer arquivo não aparece. Nós dissemos a ele que hey, obter mesmo que este arquivo exista, apenas ignorá-lo. Só não permita que isso seja adicionado ao repositório. Então agora podemos obter anúncio não ser ignorar, obtercommit, commit, adicionar um arquivo get ignore e ser empurrado Origin, mestre. E agora, sempre que alguém clona este projeto ou este repositório para fazer arquivos arquivos arquivos de armazenamento DS e J pegs não aparecerão aqui, eles não serão capazes de submetê-los. 25. Crie um alias de Git personalizado: uma vez que eu mostrei este pouco obter ferramenta LG que eu tenho e eu uso Kama Kama glg porque eu tenho um expansor de texto e ele realmente só faz isso ficar lg E ele fica longo e expande todas essas coisas. Mas e se eu quisesse comprar LG? E se eu não quiser usar um expansor de texto? E se você estiver em um sistema operacional onde você não tem acesso a ele? Obter LG não é um comando real. Na verdade, isso é chamado de pseudônimo. Então nós estamos indo para um alias e precisamos vim Esta é a nossa pasta raiz e, em seguida, edita nossa configuração get. E aqui tudo o que vamos fazer é criar uma nova linha chamada Alias em Aqui e vamos dizer L G é igual a E eu vou apenas usar meu expansor de texto porque eu tenho isso armazenado em algum lugar e tudo o que ele vai fazer é executar, obter log e depois todas essas outras coisas. E, na verdade, isso não é realmente correto porque ele não precisa ser executado. Entenda que isso é um pseudônimo, então não precisamos entrar lá, só precisa executar o registro. Vamos em frente e salvar isso. E agora posso conseguir LG e funciona. Então é assim que adicionamos Alias. E este é, na verdade, um muito mais agradável ficar longo. Gosto muito mais disto do que conseguir o registo. Isso é muito difícil para mim ler, e eu pessoalmente gosto muito mais disso. Desta forma, você pode ver onde o seu código diverge e quem o criou. A que horas a mensagem deconfirmação, de as coisas assim. Está tudo numa árvore bonita como esta. Agora você não tem que parar e escrever tudo isso. Vou deixar isso na seção de descrição abaixo er e seus arquivos de projeto. Vou deixar isso em algum lugar disponível para você para que você possa acessar isso muito facilmente porque isso não é algo que você queira digitar manualmente. Isso é algo que você vai querer apenas copiar e colar. Realmente 26. Como corrigir mensagens do Git: De vez em quando, vamos fazer um erro de digitação em uma de suas mensagens. Então vamos em frente e criar um novo commit. Mas vou estragar propositadamente a minha mensagem, por isso vou tocar no novo ficheiro. Vou chamar essa mensagem de confirmação ruim de ponto Txt. E se eu conseguir o status, eu tenho um novo arquivo lá dentro. Então, adicione esse arquivo. Obter tipo de commit da palavra erro de digitação, Vamos torná-lo um tipo sério do Ah, Tea boy aqui. Agora, se eu conseguir LG, você pode realmente ver que Meu erro de digitação está aqui, mas ainda não foi pressionado para obter hub. Isso é uma boa notícia. Isso significa que ainda podemos editá-lo. Tudo o que temos que fazer é digitar get commit dash, dash, emendar. E isso abrirá isso em vim ou Nana ou algum tipo de ferramenta de linha de comando para você. Você não pode mesmo enviar este dedo aberto em código V ou sublime ou algo assim . E eu só vou excluir essa linha e eu vou dizer que um erro de digitação aqui tipo de mensagem de confirmação foi corrigido. E a coisa irônica nisso é que eu tipo a palavra erro de digitação, não é hilário? Certo , vou dizer isso com controle. Oh, acerte! Entra no controle X! E agora, quando eu conseguir LG, eu posso ver um erro de digitação aqui. Tipo de mensagem e commit foi corrigido e ele realmente corrigido para mim. E agora eu posso fazer empurrar, origem, mestre e tudo vai ficar bem. Então é assim que fazemos isso. O truque é quando você vai realmente empurrar o seu trabalho para obter hub, eu sempre gosto de verificar minhas mensagens de commit apenas para ter certeza que eu não tenho o tipo de eles ainda passar por mim de vez em quando. E na verdade está tudo bem. Não é realmente grande coisa. Ninguém se importa muito se você tem Ah, pequeno erro de digitação em suas mensagens de confirmação. Mas se você realmente estragar alguma coisa, há uma maneira de consertar isso. E só mais uma vez que o comando foi obter commit Dash, Dash, emendar. E isso só irá alterar o último commit para você 27. Como forjar um repo: quando se trata de copiar fontes inteiras repositórios inteiros, podemos fazer algumas coisas diferentes. Podemos baixá-lo como um zip. Podemos cloná-lo, mas ainda está ligado a isso. Você está fora daqui ou podemos colocar no nosso próprio perfil. Agora, bifurcação realmente significa que você vai pegar tudo isso e você vai copiá-lo para o seu perfil. Então, se em algum momento você quiser, você pode realmente vir a este repositório particular, apertar o botão fork e ele irá copiar tudo para o seu perfil. E então você pode clonar esse repo para baixo do seu perfil usando o shur l ou o https você bem, mas não vai dizer Get hub dot com barra Caleb Holley, e ele vai dizer get hub dot com barra seu nome de usuário. Então, essencialmente, bifurcação realmente é apenas o ato de pegar um projeto existente e copiá-lo para sua conta . Este é, ah, termo global do outro lado. Chame o hub, pegue o Labit Bucket. É apenas um termo chique para dizer: “ Ei, Ei, eu vejo que há algum código aqui e eu quero copiá-lo. É apenas uma cópia rápida para o meu perfil tipo de recurso. Agora, se você vir o trabalho de alguém e quiser continuar esse trabalho, mas você não quer, mas você não tem necessariamente acesso de escrita ao repost como se você fosse clonar meu repo aqui, você não estaria capaz de fazer qualquer empurrão para ele. Você não poderia obter push origem mestre. Isso não funcionaria para você. Em vez disso, você teria que fazer o garfo. E então você poderia clonar sua própria cópia do meu trabalho aqui. E então você poderia enviar para o seu repositório, que é basicamente a mesma coisa que é o meu repositório. Então você pode fazer o que quiser. E porque agora é seu repositório, você terá acesso de gravação, enquanto que com meu repositório por causa da segurança, você não pode simplesmente clonar meu rebo e, você sabe, excluir todos os meus arquivos e eu recebo push e Então Oh, não, todo o meu trabalho se foi, não funciona assim. Você precisa ter permissão para fazer isso. E para King, uma espécie de “ah”, onde você ainda pode fazer todas as suas edições. Mas lá, sob sua própria conta. Agora. Uma coisa a notar é apenas certificar-se de que você olha para a licença. Normalmente, o licenciamento é colocado em um arquivo de licença no repositório, e muitas vezes é colocado no arquivo Leia-me dot MD também. A principal razão pela qual você quer olhar para uma licença só porque algo é open source não significa necessariamente que você está autorizado a pegar seu trabalho e usá-lo para construir uma empresa. Existem diferentes tipos de licenças lá fora, então você vai querer ter certeza de que você está um pouco familiarizado com o seu licenciamento. Agora, como exemplo, eu vou Teoh, apenas garfo alguma coisa aqui. O que eu vou fazer é, fazer, fazer, fazer fazer fazer Vamos procurar por Django, Django, Django. Eu não acho que eu tenho este garfo ainda, e então há muito trabalho, e aqui há quase 28.000 commits neste ponto 20.000 garfos. Não tenho acesso por escrito a isto. Eu não sou um dos principais desenvolvedores do Django. Eu não posso simplesmente colocar as coisas no mestre, mas o que eu posso fazer é transferir isso para a minha conta clicando neste botão, e eu posso dizer esquecer Caleb Tully em uma parte de outras organizações. Então há diferentes opções lá, e isso é apenas dizer bifurcação. Então, basicamente , está copiando tudo isso. Obter história e é agora que você pode realmente ver obter hub dot com barra Caleb Tony e cortar Django E eu tenho caras toda a história aqui. Eu tenho todos os ramos diferentes, e eu também posso clonar isso para o meu computador, e eu posso empurrar diretamente para dominar se eu quiser. Eu não tenho que me preocupar em ter as permissões adequadas ou qualquer coisa, porque isso agora está no meu perfil. O Django também tem o seu próprio. É o mestre. Mas isso está no meu perfil agora, então eu posso fazer o que eu quiser com isso, incluindo se eu quisesse, eu poderia Se é isso, excluir este repositório e eu tenho que digitar isso, mas não vou digitar Reynolds copiar e colar isso e isso é isso vai simplesmente excluí-lo da minha conta e colocar sua senha apenas para ter certeza e tudo se foi. Então agora não temos mais isso na minha conta, então isso é realmente bifurcação em poucas palavras. É realmente apenas uma maneira de copiar código existente de outro repositório para suas contas que você pode fazer o que quiser com ele. 28. Problemas de Git: Vamos dar uma olhada em um problema get hub agora. Um problema não é necessariamente algo ruim. É uma espécie de inocência mal rotulada. Mas, na verdade, todos os problemas são um lugar para começar uma conversa sobre algo na base de código. E assim isso permite que você traga um problema à luz, faça uma sugestão ou documente um bug. Não é necessariamente que o repositório está quebrado, não funciona ou qualquer coisa que, embora possa incluir isso, poderia ser apenas coisas menores, bem como, mesmo como um tipo de, Ei, Ei, há um erro de digitação na Read Me problemas geralmente têm rótulos, então você verá rótulos. Existem diferentes tipos de marcos, e neste projeto ainda não há problemas. Então vamos em frente e criar uma nova edição, e esta questão vai ser fazer uma melhor me ler porque atualmente meu me ler não é muito bom e eu quero deixar um comentário e este comentário vai dizer que você me leu, poderia ser melhor. E não se esqueça de ser sempre educado, especialmente quando você está lidando com coisas de código aberto porque as pessoas se esforçam muito e você sabe que elas não podem lidar com tudo. Então, você sabe, eles tentaram produzir algum código, colocá-lo lá fora no mundo de código aberto, e espero que quando eles têm algum tempo, eles podem corrigi-lo ou outro colaborador aparece e corrige também. Eu ia dizer que você me leu. Poderia ser melhor. Na verdade, o meu lê-me para que o meu leia-me pudesse ser melhor. Mas eu adoraria algumas sugestões para deixar mais claro sobre o que é este repo. E então eu posso visualizar minha marca para baixo. Você pode atribuí-lo a pessoas. Então, por exemplo, eu vou atribuí-lo a mim mesmo. Posso adicionar um rótulo. É inseto. Digamos que sejam documentações do Ah também. Ah, boa primeira edição, quaisquer projetos ou marcos, não vamos definir nenhum desses. Acho que não temos nada disso lá dentro. Não, ainda não temos nenhum. Esses são outros recursos get hub, e eu vou apenas enviar esta nova edição. E agora, quando você vai para a base de código, você verá o problema diz um aqui na aba. Faça um melhor me ler dot MD. Ele tem uma documentação e um bom rótulo primeira edição nele e realmente só diz que o meu leia-me poderia ser melhor, mas eu adoraria algumas sugestões para torná-lo mais claro sobre o que este repo realmente é. Agora, você pode fazer um comentário sobre você se quiser, ou você pode comentar e fechar neste caso. Na verdade, tudo o que eu faria seria fechar o assunto, e isso faria com que este desaparecesse. Independentemente disso, isso sempre será pesquisável. Então, quando você clicar em questões, isso é tudo o que vamos dizer filtrar por se é um problema e se ele está aberto. Se eu tivesse questões fechadas que eu poderia fazer é frio e fechado. Ou se eu quiser ver todos os problemas, Eu apenas me livrar de que é perto ou é tag aberta. Mas isso é realmente tudo em questão agora. Quando entrarmos em pull requests, você poderá realmente referenciar problemas e, em um problema, você também poderá fazer referência a pull requests. Então vamos em frente e liderar isso e isso provavelmente não vai funcionar porque eu não tenho nenhum pull request agora. Então teste de terno, sim, então eu só posso ligar de volta a esta questão em particular. Mas se eu tivesse uma solicitação pull, eu poderia vincular a outra solicitação pull e dizer que esse problema está relacionado a uma solicitação pull ou pull request está aberto e relacionado a esse problema. Falaremos mais sobre solicitações pull abaixo da linha, e ele será automaticamente vinculado para você. Então o teste número um cria um link e torna isso possível para mim. Então isso é uma coisa global em praticamente tudo. Ficar relacionado. Seja Get Hub, pegue o balde de órbita do laboratório. Sua interface de usuário vai parecer um pouco diferente, mas um problema é um problema. Eu ia cancelar isso porque eu não quero adicionar aquele teste lá dentro. E eu vou deixar esta edição aberta para que você possa vê-lo a qualquer momento. Agora, o que eu gostaria que você fizesse é ir para o meu exemplo. Repo. Chame o hub dot com barra Caleb. Italiano Slash obter itens essenciais, e eu só quero que você abra um novo número. Não tem que ser sobre nada. Você poderia literalmente apenas dizer Problema de teste, escreve um pequeno comentário em sua enviar sua nova edição e ele irá levá-lo a uma página que se parece muito com a minha, onde você pode começar uma conversa inteira em torno disso, e então eu quero que você faça uma captura de tela disso e carregue para o seu projeto de compartilhamento de habilidades. Uma vez feito isso, vamos abordar a próxima seção, chamada de solicitação de pesquisa, que é uma parte vital de trabalhar com outras pessoas e comparar códigos. 29. Como abrir uma solicitação de pull: Vamos falar sobre pull requests e obter hub. Temos problemas de código, ações, projetos, wiki todos os tipos de coisas que podemos entrar. Mas o maior que você vai usar de longe vai ser pull requests ou talvez problemas dependendo do seu projeto. Agora vamos puxar. Pedido é basicamente dizer que você tem algum código que você deseja incorporar no meu código ou eu tenho algum código que eu quero incorporar em seu código. E assim, nesta lição, o que eu vou fazer é criar um novo ramo e abrir uma solicitação pull no master. Então vamos em frente. Abra um terminal, pegue a filial. Estou no mestre e vou sair. Seja assim eu vou apenas verificar e criar uma nova filial chamada PR test. E se eu conseguir Branch mais uma vez, podemos apenas, você sabe, triplo verificar que estavam no teste de RP. Vamos olhar para algum código e nós estamos indo para Vamos atualizar o arquivo Leia-me. Vamos actualizar este ficheiro Leia-me, e vamos mudar esta linha. Então vamos ao seu arquivo leia-me e esta linha aqui para dizer outra coisa. Mestre Ramo. Vamos, na verdade, você sabe o quê? Vamos realmente atualizar tudo isso me leia. Então, obter itens essenciais barra Obter para todos e, em seguida, dizer que este é ah curso para ensiná-lo a usar todos os dias. Eu não sei, é claro, criado por isso sou só eu. Só estou colocando algumas coisas de enchimento aqui, e isso é bom o suficiente. Então agora eu posso fazer isso. Obter status para ver. Ok, eu tenho um arquivo modificado que eu posso obter def. O meu lê-me. Embora eu tenha que datilografar direito. Obter def o arquivo leia-me e você pode ver que eu removi as duas linhas vermelhas e eu adicionei quatro linhas verdes. Esta é tecnicamente uma linha vazia, mas ainda conta, como além disso. Então agora eu posso fazer, obter adicionar Leia-me porque eu estou feliz com essas mudanças. Obter, comprometer-se, atualizado, lê-me. E porque estou na filial de testes de RP, quero fazer para obter o teste PR de origem push. E agora, quando eu vou para puxar pedidos, eu realmente tenho para filiais recentes aqui. Então vai me mostrar também. Mas as chances são que você só vai ter um e então isso tem um teste de RP em seu e eu poderia comparar e puxar este pedido ou se você não tem isso, vamos fazer o caminho mais longo. Vamos clicar em nova solicitação pull. Então, o que queremos fazer aqui? Queremos tirar o código do nosso teste de RP e queremos fundir isto no mestre. Isso é o que isso está dizendo. Então o código vai entrar em mestre e ele vai nos dizer que ele é capaz de se fundir porque não há conflitos de fusão ou há conflito emergente e nós podemos precisar mudar algo lá dentro. Mas não há conflitos de fusão agora. Este ditado apontou. Posso criar o pull request. Vamos em frente e criar um pull request e eu posso dar a isso um título e um comentário. E acabei de escrever um pedido de amostra para o curso. Agora eu posso criar um pull request ou eu posso criar um rascunho pull request e eu fui criado Draft Polar Quest apenas para fundos easa e assim aqui você pode ver que este é um rascunho pull request. Ainda não é oficial, e quando estivermos prontos, podemos dizer que isso está pronto para revisar. Então vamos em frente. Revise isso e agora ou pull request está realmente aberto. Está dizendo que queremos colocar um commit em mestre a partir da ramificação de teste de RP, e se alguém está tentando colocar código em seu projeto, eles estão abrindo um PR em seu projeto. Você pode simplesmente mesclar a solicitação pull. Você pode esmagar emerge solicitação de apelação. Então, se alguém tem um pedido de pull com uns 100 commits, você pode esmagá-lo no dedo do pé um. Comprometer-se. Na verdade, isso é muito melhor para a sua árvore. Ou você pode re base e mesclar. A maioria das pessoas ficar com um commit de mesclagem porque ele realmente cria que emergem histórico. Então é com isso que vou ficar a qualquer momento. Você também pode definir seus revisores as pessoas que devem revisar. Se você quiser assinar isso para qualquer um, você pode atribuir que, se houver algum rótulo, você pode adicionar rótulos aqui. Mas eu estou simplesmente indo para emerges pull request. Mas antes de fazer isso, vamos dar uma olhada nesse código. Então eu quero atualizar isso. Leia-me para que este seja o nosso pedido de emergir ou são pull request e obter laboratório. É chamado Emerge Request em get hub é chamado de pull request. Então isso é o que estamos tentando adicionar aqui, essa linha essa linha e aquela linha. E se olharmos para o nosso código existente com atualmente no mestre, podemos ver que nada disso está lá. Isso é apenas o código bruto. Então, essencialmente, vamos apenas atualizar o arquivo Leia-me. Agora há outra coisa que podemos fazer é olhar através de todos os commits. Agora este ramo só tem um commit. E então só vai haver um lá e eu posso realmente clicar nisso e eu posso ver o que estava neste ramo o que foi alterado. Ou eu poderia ir direto para os arquivos, mudar de guia aqui em cima, e eu posso ver o que está aqui dentro. Eu também posso começar uma revisão para que eu possa deixar um comentário ou eu posso aprovar. Eu posso enviar alterações que você pode realmente ver, embora ele diz pull request. Outros não podem aprovar sua própria solicitação pull. Então é aqui que eu fico um pouco bloqueado na minha demonstração porque eu não posso provar minha própria solicitação pull sem criar uma segunda conta get help. Mas, essencialmente, é aqui que alguém entraria e deixaria uma crítica. E se houver algo errado com o meu código ou há sugestões, ele aparecerá na conversa aqui sob a conversa em e então você pode simplesmente marcá-los como concluídos ou resolvidos. Vamos em frente e mesclar esse pull request, e ele vai me pedir para deixar um pequeno comentário e a mensagem de commit real. Vamos confirmar que Mesclar, e agora ele está me perguntando se eu quero excluir o branch para que eu possa excluir este branch inteiramente da origem do Get Hub. Não preciso mais dessa filial, então vou deletar isso. E agora esse ramo já não existe em “Levante-se”. Ele ainda existe localmente, mas não em fez Hub como outro era um pull request. Feito, e eu posso pegar Branch. Vamos dar uma olhada e vamos ser puxados. Mestre da Origem. Houve algumas mudanças novas lá dentro. Vamos ver o arquivo “Leia-me”. É o que diz. Esse é o novo material que vem dos nossos pedidos de pull. Agora abrimos uma solicitação pull bem-sucedida e, sob solicitações pull, não há mais aberto. Agora. Se você quiser olhar através de pull requests fechados, você também pode simplesmente se livrar dessa tag e você pode olhar através de sua pull request aqui. E uma última coisa é que eu disse a ele para excluir a filial de teste de RP e não aparece mais em seu get Hub não sabe mais sobre isso. Mas se eu conseguir Branch, meus testes de RP ainda existem. Então, se eu quisesse excluir isso localmente, eu poderia simplesmente fazer teste Branch Dashti PR e obter branch mais uma vez e ele não está mais lá. Então, neste vídeo, o que fizemos foi criar uma nova filial, editamos alguns arquivos, enviamos para uma nova filial, abrimos uma solicitação pull, exploramos toda a coisa pull request, aceitou a solicitação pull no mestre atualizado e, em seguida, excluiu a ramificação do hub get e do nosso computador local. Na verdade, fizemos muito neste vídeo bastante curto. Agora, isso é apenas o começo de pull requests. Pedidos pull são super importantes. E sempre que você tem um pedido ruim para o seu projeto, você vai querer rever o código de outras pessoas. Então, por exemplo, poderíamos entrar aqui, ver os arquivos mudarem. Você vai querer ler isto e realmente ler através dele linha por linha. É importante que você faça isso, e outras pessoas tentarão fazer isso por você também. Uma boa maneira de obter exposição ao código e ganhar com as experiências de outras pessoas como desenvolvedores. Há muitas outras características aqui. Por exemplo, você pode clicar ao redor e ver o que está acontecendo aqui. Mas você poderia realmente ver a exibição de rich text ou apenas a exibição de código, e você poderia dizer que isso é visto. Se você quisesse, você poderia ver o arquivo devido a fazer, e este é o arquivo real em si. Você pode ver que é um blob com o hash de confirmação e o arquivo. Agora, o que eu gostaria que você fizesse como um pequeno experimento divertido é se você não tiver garfo este repo já. O que eu quero que você faça é vir para a minha reconstrução. Obter hub dot com barra Caleb tully em barra obter traço essencial, clique neste quarto botão. Isto vai clonar. Todo o meu trabalho vai copiar todo o repositório para o seu perfil. Quero que clone este repo todo do seu perfil. Então isto sabia onde eu ia ser diferente? Não vai dizer Slash Caleb, italiano vai dizer cortar seu nome de usuário. Então clone isso usando S S. H ou https. E então eu quero que você faça uma mudança. Envie esse arquivo para o seu novo repo, o que vem daqui. Então, é o seu novo rebo, e então eu quero que você venha até o meu Rebo clique pull request e abra um novo pedido de pesquisa . Você será capaz de realmente abrir um pull request do seu novo ramo de quatro árvores para o meu principal rebo e eu posso aceitá-lo. Então vá em frente, abra um pull request no meu repositório. Não se esqueça, a parte importante aqui é que você absolutamente precisa bifurcar isso e você precisa trabalhar fora de sua própria cópia deste código. E quando terminar isso, quero que tire uma captura de tela do seu pedido de pesquisa e atualize seu projeto de compartilhamento de habilidades 30. Desinstalação de um compromisso: Vamos falar sobre desfazer um commit. Há duas maneiras principais de desfazer algum trabalho local. E vamos apenas dizer que nós os fundimos, trabalhamos em outro ramo. Então não conseguimos a fusão, mas algo deu errado e não tinha certeza das mudanças. Então, talvez apenas como exemplo, digamos que nós realmente fundimos o ramo errado em mestre, o que , por sinal, provavelmente aconteceu com todos nós. Em algum momento, podemos desfazer nosso trabalho local redefinindo-o de volta para um certo ponto no tempo. Então, se eu conseguir o registro e eu vou te mostrar esse truque legal, ficar registrado Dash, traçar uma linha. Você pode ver nosso log get com apenas uma linha de informações. Então temos nossa cabeça de haxixe apontando para nossa filial e origem. Mestre é exatamente onde estamos. Temos outros ramos aqui um pouco abaixo da linha também. E neste vídeo, eu vou tentar usar get log em vez de obter LG porque na escola para ser exposto a diferentes recursos. Então, digamos que fiz um compromisso e queria voltar a esse compromisso. Eu só queria desfazer isso. Como faço para me livrar de um commit que já está, você sabe, foi colocado no meu local ficar bom, Há duas maneiras de fazer isso. Weaken Faça um soft reset soft reset ou podemos fazer um hard reset e a diferença é realmente, muito importante. Então vamos passar por ambos os exemplos, então eu vou criar um commit, então eu vou criar um novo arquivo aqui chamado exemplo dot txt. Obter status e você pode ver que eu tenho um novo ano de arquivamento. Vamos em frente e adicionar que Get add sample dot txt e obter commit com uma mensagem. Desfaça isso. Comprometer-se a agradar. Agora, se eu ficar longo, traço, traço uma linha, você pode ver que minha cabeça e mestre são agora um Commit à frente da origem, Mestre. Agora, só para simplificar um pouco esse exemplo, eu não vou fazer toda a fusão que eu estava falando antes. Mas vamos fingir que eu sou instado em uma filial e este foi o commit de fusão. Estou olhando para essa árvore e pensando, Oh, não, não, eu definitivamente emergi no galho errado. Eu não queria fazer isso. Preciso desfazer isso. Bem, podemos redefinir o hardware ou o software. Então, quando formos redefinir, traço, traço duro e, em seguida, um hash commit estamos dizendo, Desfazer tudo até que, Commit hash. Então desfaça tudo e exclua-o. Apenas livre-se dele. Então, por exemplo, vamos em frente e eu vou copiar isso. Coloque isso aí agora Enfraquecer, fazer o jeito de haxixe ou e disse que poderíamos. Certo, Origin Master, que eu uso mais frequentemente apenas origem. Mestre é apenas um pequeno atalho para voltar para onde está o mestre de origem. Só porque eu sempre mantenho atualizado com o hub de obter o melhor da minha capacidade. Então eu vou fazer isso e nós estamos apenas indo para você obter redefinir traço traço duro. Usando o commit diz que a cabeça está agora no commit i d. E se eu conseguir log, traço, traço, traço, uma linha de ferida, você pode ver que meu commit aqui se foi então que commit foi desfazer este Commit, por favor, começa com F B 50 um 70 Que um agora se foi e agora eu estou de volta ao mestre origem. E se eu conseguir o status, você pode realmente ver que meu arquivo que o arquivo txt de exemplo desapareceu. E se eu fizer é Dash L. A. A.Não há nenhum arquivo txt de amostra Então o que eu fiz lá foi obter traço reset, traço duro e, em seguida, seu i d você está comprometido I d agora uma última vez que vai excluir seu trabalho. Então isso pode ser o que você quer. Isso pode não ser o que você quer, dependendo da sua situação, se você não quiser excluir seu trabalho. E digamos que você tem um exemplo que nós configuramos aqui, então vamos criar outro arquivo e obter status Obter em Eu vou adicionar todos os arquivos e vamos fazê-lo . Obter status. Podemos vê-lo. Obter commit Desfazer esta confirmação. Mas fique com o arquivo. Agora podemos fazer obter log, traço, traço uma linha e assim como o exemplo anterior, temos um commit. É um à frente do mestre de origem e queremos desfazer isso, mas queremos manter esse arquivo txt de exemplo aqui. Não queremos apagar isso. Talvez tenha alguma informação importante. Não estamos prontos para nos livrar disso. Nós poderíamos fazer obter traço reset, traço suave e, como exemplo, eu vou usar origem barra mestre. Esse é esse nome aqui que é um pouco de um alias para esse hash commit ou, quero dizer, você poderia voltar para qualquer ponto no tempo se você realmente quisesse, mas eu vou usar get reset Dash, dash, origem suave, barra mestre e quando eu apertei entrar obter log, traço, traço uma linha. Meu comitê agora se foi. Estou de volta ao Origin Master, onde o caminho tinha um tipo próprio. Claramente eu tinha consertado. E se eu conseguir o status, meu arquivo ainda está lá. Está pronto para ser comprometido, por isso está atualmente encenado. E se quisermos no palco, podemos sempre fazer redefinir, amostra, obter status e há o arquivo. E se quisermos nos livrar disso, podemos apenas amostra do status da RM. E agora criamos oficialmente um commit, comprometemos e desfizemos o commit. Então é como se nada tivesse acontecido. E mais uma vez, vamos apenas obter log, traço, traço uma linha e podemos ver aqui. Não há comprometimento. Estamos exatamente onde paramos antes 31. Força: Às vezes você precisa voltar para um mais velho, comprometer e substituir todas as coisas mais recentes que o Hub tem para nós. Então, no último vídeo, o que fizemos foi desfazer um commit local, mas na verdade não tem nada a ver com get hub ou nossa barra remota de origem. Tudo o que fizemos foram algumas obras locais. Nós pegamos o problema antes de acidentalmente empurrá-lo para se levantar. Mas o que acontece se acidentalmente fizermos um commit e empurrá-lo para obter hub e quisermos desfazê-lo? Vamos dar uma chance agora. Então vamos criar um novo arquivo. Desfazer me dot txt é o que vai ser chamado. Então obtenha o status. Eu tenho este novo arquivo chamado Desfazer me dot txt Obter anúncio. Desfazer me dot txt Obter status. Você pode ver que está encenado. Obter commit. Vou dar-nos uma mensagem de raiz. Remova isto. Commit de get hub agora Se eu conseguir origem push, Mestre e você pode dizer a eles no ramo mestre aqui. E este é o meu hash de confirmação. Eu poderia apenas pegar o mestre de origem push e vamos apenas refrescar Suba aqui nós temos isso. Desfazer-me ponto arquivo Txt do comitê chamado Remover esta confirmação do hub Get. Então, digamos que foi um acidente total. Eu não sei o que aconteceu e eu acidentalmente cometi isso para o mestre e eu realmente preciso desfazer isso. Agora. Eu vou dizer agora, siga em frente com muita cautela com esse recurso em particular. O que vamos falar é de um empurrão de força. Então, essencialmente, o que podemos fazer é dizer, obter log uma linha e podemos efetivamente voltar no tempo para qualquer ponto no tempo que quisermos. E podemos dizer: “ Ei, Ei, empurre a partir disso, se comprometer com a origem, dominar para obter hub e sobrescrever tudo o resto. Mas só para você saber, ele vai realmente apagar todo o resto. Então ele vai não só remover este commit, mas ele vai remover os arquivos e todo o valor desse commit tinha e todos os outros . Então, se decidirmos voltar para o ramo de dobra do tempo de origem e fizermos um empurrão de força, ele vai se livrar de todo esse trabalho, e você não pode desfazer isso. A outra coisa a tomar nota é, se você estiver trabalhando em uma equipe que pode realmente causar problemas com outras pessoas. Eles vão ter que fazer um git buscar origem mestre, Eles vão ter que fazê-lo, obter reset provavelmente localmente também. Não é bonito, mas a opção está lá se você precisar. E ocasionalmente você precisa disso. Então eu já criei isso. Comprometer-se. Está ligado. Pegue uma cerveja e eu quero tirar isso. Comprometa e volte direto para um erro de digitação aqui. Então, basicamente, eu quero redefinir Mestre e Origin Master, volta para um erro de digitação aqui, este commit logo abaixo dele. O que podemos fazer é redefinir, Dash, traço, coração. E lembre-se, da última lição que vai apagar tudo. E então eu vou pegar este haxixe e apenas colar isso lá dentro. E agora se eu conseguir log, traço, traço uma linha, ele realmente se foi. Mas também é a origem, Mestre. E o que estou me referindo é remover isso. Comprometer-se de se levantar! Esse é o antigo. Simplesmente não existe mais. Agora isso é apenas com o log do git. Se usarmos nossa fantasia obter LG Command, podemos realmente ver que ele ainda está aqui. Origin Masters realmente à nossa frente. Então, se quiséssemos, poderíamos fazer um get pull origem mestre e ir em frente e obter esse commit. Mas não queremos fazer isso neste exemplo. Queremos anular isso agora. Se dissemos obter push origem mestre, vamos ver um erro. Claro o suficiente, Falha ao empurrar alguns refs basicamente obter Hub tem trabalhado que nós não temos. Precisamos do Teoh. Ou fazer um get pull Origin mestre, e, em seguida, obter Push Ou podemos fazer um empurrão força e sobrescrever este inteiramente. Vamos fazer um empurrão de força e você realmente vai ver algo interessante que eu tenho configurado no meu computador apenas para ter certeza de que isso nunca é abusado Obter empurrado origem Mestre Dash f Sim, então ele só diz Nope. Esqueça origem espaço espaço mestre traço F Esta é a bandeira para força ou traço força. E assim meu expansor técnico está prestando atenção ao que eu escrevo. E está dizendo que se eu acertar mestre espaço traço f, ele só substitui essa tecnologia. Então eu não posso realmente fazer isso muito facilmente. Eu ainda posso fazer isso se eu tivesse que espaços ou fazer traço força. Mas é só uma coisinha que eu adicionei meu computador só para ter certeza de que isso não é , você sabe, facilmente abusado. Então eu vou apertar Enter sobre isso e o que isso vai fazer é remover totalmente isso. Comprometer-se como se nunca tivesse acontecido. E com isso, commit este desfazer me dot txt arquivo vai ser removido. Vamos em frente, força empurrão. Certo, força empurrar. Nós forçamos uma atualização. Essencialmente remover. Era 15. Commit é agora 14 commits que o arquivo desapareceu. E se olharmos para a nossa história de comprometimento não está mais lá. E vamos verificar que com sua fantasia obter LG Command, obter LG Origin Master é agora exatamente onde estamos. Então, só mais uma vez. Use esse recurso com muita cautela. Na verdade, eu não uso esse recurso com muita frequência porque há outras maneiras de contorná-lo. Mas ocasionalmente você precisa sobrescrever o que o hub get tem. Portanto, não use esse recurso a menos que seja absolutamente necessário. Haverá um momento em que você tem que e também tenha em mente que isso vai tornar muito mais difícil para outras Debs em sua equipe para trabalhar com isso porque agora eles têm um commit em seu computador. Aquele que estava aqui em cima cometeu o número 15. Eles vão ter isso no computador deles. E quando eles fazem um git fetch origem mestre, ele vai tentar voltar no tempo. Então ele meio que fica preso em um pouco para a frente para trás. Armadilha temporal. E isso pode ser muito difícil para outras pessoas entenderem. Agora eles vão ter que fazer um git buscar origem, mestre e talvez um get reset também. Mas, no entanto, é assim que fazemos uma força Bush. 32. Como rebase: Vamos falar sobre se basear. Fusão é o que todos fazem, mas pode se tornar um grande problema. Sua árvore pode se tornar super difícil de ler e entender. Então vamos dar uma olhada em uma árvore alvo com obter LG e podemos ver que você sabe, na maioria das vezes, não é tão difícil de entender. Temos essas linhas diferentes, significando ramos diferentes, e à medida que rolamos para baixo, podemos ver que criamos ramos. E em algum momento tivemos duas filiais e comerciantes de volta em apenas um ramo. E se você realmente apenas seguir essas linhas em qualquer ferramenta visual na estrada vai praticamente dar-lhe esta implementação visual também. E, na verdade, talvez eu possa fazer com que seja menor. Lá vamos nós. Podemos ver que esta árvore começa a ficar um pouco maior, e tudo bem. Mas idealmente, você quer uma bela árvore reta. E aqui em cima é o que você quer. Apenas essa retidão. Isso é ideal. Mas se tivéssemos 100 filiais, isso ficaria fora de 100 linhas e seria bem aqui, e eu já vi isso antes e fica muito difícil lidar com isso quando você tem que fazer alguma cirurgia. Quando você tem que puxar em certo trabalho de certos ramos para mestre e você tem todos esses outros ramos em camadas em cima um do outro, torna-se realmente, muito difícil. Mas um rebased torna isso agradável e fácil. Agora você pode realmente ver quando criamos o Emerge, nós tínhamos um ramo de trabalho de tempo bem ali que nós criamos emergindo em mestre e ele criou essa ideia de fusão. Esse hash de mesclagem criou seu novo commit. Eu acho que eu acabei de chamar que emergem idéias realmente comprometem i d. mas ele criou este novo commit e, em seguida, que basicamente disse neste ponto, dois ramos se fundiram juntos. Isso é bom para fins históricos. Você pode realmente ver o que aconteceu lá, mas um rebased não fará isso. Uma base re vai literalmente levar o seu trabalho e plop-lo direito em cima do mestre. Então vamos fazer um pequeno exemplo rápido rebased onde vamos re base para dominar. Mas você não vai ver essa coisa de dobra do tempo do ramo da fusão ou há outra. Sei que temos um par. Sim, tem outro aqui. Mesclar, Branch Master, você não vai ver esses commits de mesclagem. Então, idealmente, re basing vai manter sua árvore seu gráfico de árvore bastante agradável e reta e limpa faz um pouco mais fácil de ler e trabalhar com a linha abaixo e obter fusão irá basicamente preservar a história, enquanto uma espécie de base re de reescreve a história. Então eu vou em frente e criar uma nova filial aqui. Vá ver se eu fizer aquele pouco maior de novo. Obter cheque seria e eu vou ligar para este ramo base re. Chame Branch. Você pode ver como minhas filiais aqui e eu vou criar um novo toque de arquivo Re base arquivado um txt obter status, obter anúncio e obter commit. E isso só vai ser chamado de amostra rebased, eu acho que porque não? E se eu conseguir log, traço, traço uma linha, você pode ver que estamos em uma filial diferente. Cabeça está em um ramo diferente e estamos um passo à frente da origem, Mestre também, nós poderíamos fazer a nossa fantasia obter LG Command e você pode ver exatamente a mesma coisa aqui em cima. bases re simples em um ramo de base re e estamos um passo à frente de origem Mestre e nosso ramo mestre. Ok, Então, para fazer uma base re, nós precisamos ir até o mestre obter check-out mestre, e nós queremos re basear o ramo rebased em mestre. Então nós temos re base e, em seguida, o nome desse ramo, que foi ramificação rebased. E parece que fez um monte de coisas. Foi dito, sua primeira cabeça rebobinada para repetir blá, blá , blá. Mas se conseguirmos a LG, podemos ver que o Mestre está agora na nossa filial de novo. Vou fazer isso um pouco menor aqui. Base re amostra. Essa é a nossa cabeça de compromisso no mestre. Então nós estamos atualmente no mestre e é exatamente onde os ramos rebased e você pode ver que basicamente, nós pegamos este ramo base re e o commit nele e nós apenas plopped em cima do mestre. Não criamos esta linha secundária. Não criamos uma confirmação de mesclagem. Nós só dissemos, “Ei, apenas coloque em cima do mestre”. Isso é o que rebased faz agora, na minha opinião, a diferença entre descontos e um regular emerge, limpeza e história. Eu gosto de ver uma bela linha reta, então eu sempre posso ver o que está acontecendo em qualquer momento no tempo. Mas às vezes quando você quer mesclar uma ramificação e você realmente quer que ela surja, comprometa caso você tenha que voltar para aquele exato momento nessa fusão aqui é um pouco mais difícil e dizer porque, bem, nós re base. Não temos esse commit de mesclagem. Então, se quisermos desfazer isso, teríamos que realmente saber que um erro de digitação aqui ou esse commit em particular é aquele que queremos retroceder versus literalmente apenas olhar para sua árvore e ir. Ok, bem, há emergir aqui em então algum trabalho em cima dele. Sabemos que o trabalho não estava funcionando, mas queremos voltar a essa emergência. Se a mesclagem foi o problema, apenas torna um pouco mais fácil ler a linha do tempo no histórico usando o emerge. Mas um rebased mantém tudo agradável e limpo. Então, na minha opinião, se você está trabalhando em um projeto menor ou equipes menores, eu gosto de fazer rebased apenas porque ele mantém as coisas limpas e você não necessariamente precisa de tudo para comprometer a história também. Mas em equipes maiores ou em pull requests ou algo assim. Você, para a maior parte, você provavelmente quer fazer emergir emergir é provavelmente a maneira mais fácil. 33. Resolving e rebase conflitos: um conflito é quando há duas mudanças no mesmo arquivo, basicamente no mesmo lugar. Digamos que nós dois estivéssemos trabalhando na mesma filial no mesmo arquivo na mesma linha de código, e nós dois queríamos colocar isso no mesmo ramo. Queríamos empurrá-lo para obter Hub Slash Master. Isso é chamado de conflito. Você vai ver isso com obter pull pull pedido mescla re bases. Você vai ver isso em todo o lugar é realmente apenas quando há uma linha de código que foi alterado por duas pessoas ou em dois lugares diferentes e obter não é inteligência artificial. Obter apenas é controle de código, sério? E assim diz: “ Ei, Ei, você tem um conflito aqui e você tem que escolher. Isso é um ou B? Qual deles você quer ficar? Ou você quer editá-lo e fazer um híbrido e usá-lo? E então um conflito realmente só acontece quando get precisa que você tome uma decisão sobre uma determinada linha de código, então eu vou fazer dois exemplos aqui. Eu vou mostrar-lhe um conflito de fusão, conflito e eu também vou mostrar-lhe um conflito de base re, e eles são quase o mesmo. Mas eu pensei que seria bom para demo tanto porque você vai estar usando mesclagem e re base no futuro de qualquer maneira, então você pode muito bem ver ambos. Então eu vou configurar nosso repositório aqui em obter Hub, e eu vou criar um novo arquivo, criar um novo arquivo, e isso vai ser chamado Merge conflito dot txt E nós vamos dizer linha um por get hub e vamos copiar isso Uma e outra vez. E eu vou definir isso como o exemplo. Então nós vamos ter um novo arquivo aqui com cinco linhas que diz linha 12345 por levantar-se porque estamos fazendo este arquivo em get hub. E eu vou dizer que este comitê é chamado de arquivo de conflito de fusão adicionado e vamos nos comprometer diretamente com o mestre. Não precisamos de uma filial para isso. Ok, então agora, mestre tem este novo arquivo chamado Mesclar conflito dot txt. Eu não tenho esse trabalho ainda, mas eu vou tipo de imitar esse fluxo criando um novo arquivo Ah, isso é vim Este ponto de conflito de fusão FIM Então é exatamente o mesmo nome que você pode ver merge conflito dot txt aqui e merge conflict not txt Aqui. E, na verdade, o que eu quero fazer é fazer uma cópia desleixada e colar apenas colar isso lá e eu quero mudar mentir três. E em vez do número, vou colocar a palavra e também vou dizer Ah, editado localmente. Salve esse arquivo. Vamos obter status e vamos tentar cometer isso. Então obter adicionar esse arquivo, obter commit, mesclar arquivo conflito adicionado localmente e agora sabemos que não podemos fazê-lo. Obter origem push, Mestre porque mestre tem algum trabalho que nós não temos atualmente. Então isso vai ser um problema. Mas podemos fazer um get pull origem mestre e talvez Allah esclarecer isso. Então, obter pull origem Master e isso vai tentar obter esse arquivo. Mas vai entrar em conflito com o arquivo que temos em nosso computador e então você pode realmente ver se nós apenas lemos através deste conflito de mesclagem emergente automático um txt Houve um conflito e a mesclagem automática falhou, então a mesclagem não foi capaz de acontecer, corrigir conflitos e, em seguida, confirmar o resultado. Então ele está nos dizendo o que fazer aqui. Então, se fizermos isso obter status, podemos ver que temos nós dois. Adicionado tanto obter Hub e eu. Ou se você e eu estávamos trabalhando neste projeto, você adicionou e eu adicionei. Nós poderíamos fazer obter def merge conflito ponto txt e você vai ver esse tipo de coisa aqui. Então você vai ver um monte de menos que sinais e, em seguida, ele diz cabeça e, em seguida, um monte de sinais de igual e, em seguida, você sabe, seu código dentro disso e, em seguida, um monte de sinais maiores do que com o hash commit. Então, na verdade, tudo o que está dizendo é: “Ei, “Ei, é aqui que o conflito está. Qual deles você quer ficar? Então vamos fazer conflito de fusão e podemos ver aqui que se eu colocar o número online 35 e 7, há essas coisas estranhas e precisamos nos livrar de todas essas coisas estranhas. Então, neste ponto, o código está sendo separado por esses sinais de igualdade. Queremos manter a Linha 3 como na palavra editada localmente? Ou queremos manter o número três editado pelo Get Hub? Isso é com a gente. Não há resposta certa ou errada neste momento porque não há contexto de um problema de codificação . Mas se houve, você pode querer discutir isso com a outra pessoa que já trabalhou nisso. Então o que eu vou fazer é apagar essa linha para deixar aquela, aquela e aquela. E agora parece um arquivo normal novamente, e eu vou manter três soletrados, editados localmente, então eu vou apenas salvar esse arquivo. E novamente, você pode fazer isso em código V S ou sublime ou Nano onde qualquer editor de texto que você deseja. Se eu conseguir o status, você pode ver que nada mudou, mas eu preciso agora. Adicione esse arquivo porque ele me pediu para confirmar esse arquivo. Então, se nós rolar para cima, ele diz, corrigir conflitos e, em seguida, cometer o resultado o que? Nós consertamos o conflito. Então vamos cometer os resultados de obter anúncio, mesclar conflito, e vamos simplesmente fazer get commit nenhum mensageiro nada. Vamos apenas fazer um compromisso. E agora está dizendo “Ok, bem, nós podemos fazer esse compromisso”. Mesclar agora ou que mesclar Commit agora controle sobre para dizer que no nano controle X E assim , nós resolvemos um conflito. Então vamos fazer isso é para obter log, traço, traço, traço uma linha. Então agora, Mestre de Origem não fizemos nada. Ainda não empurrámos o nosso código. Então o Origin Master está exatamente onde parou. Adicionamos esse arquivo de conflito de mesclagem no get hub dot com. Em seguida, adicionamos o arquivo de conflito emergir localmente em nosso computador e tentamos fazer para ser puxado . Mas houve um conflito. E então esta mesclagem esta mesclagem commit aqui está dizendo, Ei, esse conflito foi resolvido e agora podemos obter push origin master E vamos apenas atualizar este arquivo e agora podemos ver que ele foi editado localmente. Então, quando se trata de resolver um conflito de mesclagem, realmente, tudo que você precisa fazer é editar esse arquivo para que você sempre possa obter o status e você verá o arquivo lá para que você sempre possa editar esse arquivo. Você pode ver que a diferença é escrever sua linha de comando usando get def. Ou você pode simplesmente abrir em V s código ou ou sublime, ou Adam ou qualquer editor de texto que você deseja usar limpar essas coisas que obter foi adicionado automaticamente em seu arquivo para você. E então você simplesmente obter adicionar seu arquivo e quando você está feito que get commit sem mensagem , basta obter commit, e então você pode escrever sua mensagem nesse prompt que ele vai dar-lhe agora re bases um pouco Diferente. Então agora eu vou demonstrar um conflito de base re como podemos resolver isso. Então, primeiro de tudo, eu quero ter certeza no meu ramo mestre, e eu vou criar um novo arquivo aqui. Eles re base conflito dot txt. E eu vou fazer isso propositadamente no Mestre. Eu também poderia fazer isso em get hub como o exemplo anterior, mas nós não vamos fazer isso. Nós vamos fazer isso bem no editor lá, bem no nosso terminal. Em vez disso, só colei isto aqui. Nós temos linha 1234 e cinco por hub get, eu realmente vou adicionar mais uma linha aqui e dizer não de get hub. Isto é do local. Só porque vou ser um pouco preguiçoso com esse contexto, não importa. Vamos atravessar um conflito. Nesse contexto, o material escrito real que você vê neste arquivo atualmente não é importante. Precisamos corrigir o conflito, não necessariamente o código. Então, agora, se fizermos isso, obtemos status. Eu tenho esse arquivo e vou cometê-lo. Confirmar três baias exemplo exemplo de arquivo de conflito. E ainda assim você está certo. Não posso simplesmente cometer isso. Tenho que conseguir esse arquivo. Obter base re. Sim, obter adicionar conflito rebaseado. Acertei. Agora posso fazer o meu compromisso. E se eu fizer isso, pegar LG ou obter log ou obter logado uma linha você vai ver que está lá dentro. Obter log, traço, traço uma linha. Esse comitê agora está no comando. Agora vamos voltar no tempo. Vamos voltar a isto. Comprometa aqui e vamos criar uma ramificação a partir daqui. Então comece a verificar este commit obter log, traço, traço uma linha. Você pode ver que estamos em um estado sem cabeça. Nossa cabeça não está apontando para nada. Estamos exatamente onde o Origin Master está. Vamos criar uma nova ramificação, obter uma ramificação de conflito rebased. E se eu conseguir Branch, podemos vê-lo aqui e eu vou criar exatamente o mesmo arquivo novamente. Então eu estou indo para vim re ponto de conflito base txt e eu nem sequer me lembro exatamente o que eu escrevi naquela linha seis. Mas não vou me preocupar com isso. Get deve adicionar automaticamente isso lá para mim, porque não vai haver um conflito atualmente vai haver nenhuma linha seis aqui Mas haverá uma linha seis no Mestre e obter saberia como mesclar isso juntos e em Aqui nós vamos dizer três e também vamos dizer cinco Então vamos fazer dois exemplos aqui Agora novamente, eu apenas recriei exatamente o mesmo arquivo no ramo de conflito rebased e se eu fizer isso obter status. Temos o mesmo conflito baseado em arquivos. Txt. Então é adicionar esse arquivo, obter descontos de commit, arquivo de conflito de uma filial e se conseguirmos LG, é aqui que isso realmente vem a calhar. Você pode ver que houve uma fusão na origem. Mestre, isto é que vamos levar coisas para casa. Nós somos a origem. Mestres sempre obter hub ou origem é sempre obter hub Masters. O mestre do ramo tem uma espécie de direto um pouco. Eso há um commit e eles são chamados de exemplo de conflito rebaseado e isso é uma ramificação de uma hora mestre . E em nossa filial atual, aquela em que nossa cabeça está nos descontos Divisão Conflito rebaseado arquivo de conflito de uma filial. E assim estes dois master e Rebates Conflict Branch têm exatamente o mesmo arquivo. Mas há conteúdo diferente nele. E agora queremos basear este ramo em dominar para que não tenhamos esta pequena divergência aqui. Então, vamos dar uma olhada. Mestre, certifique-se que eu estou naquele ramo e obter re base Repays conflito, você francês e tudo isso vai fazer é me dar um pouco de um erro. E, novamente, se lermos isto, sei que é como uma parede de texto, mas se lermos isto, podemos ver como lidar com isto. Então houve um conflito. Ah falhou ao mesclar no patch de alterações falhou em 0001 descontos, exemplo de conflito. Use. Obtenha um patch atual do M show para ver o patch com falha. Não vamos entrar em remendos porque isso fica um pouco mais complicado. Mas também podemos resolver todos esses conflitos manualmente, e podemos marcá-los como resolvidos por obter adição, ou obter a remoção dos arquivos em conflito e, em seguida, simplesmente como simplesmente em execução. Rebased, dash, dash, dash, continue. Ou se não há nada para pular, porque ocasionalmente, quando você faz uma base re e há um conflito rebased, não há realmente o conflito obter apenas como eu só quero que você verifique duas vezes isso. E se não houvesse problemas, você poderia fazer rebased dash, dash skip Então é para obter status e você pode ver que nós dois adicionamos ambos no Master. E neste novo ramo, adicionamos descontos em conflito dot txt. Agora, a qualquer momento, você está tipo, oh, uh, uh, eu não estou totalmente confiante quando estou fazendo você pode realmente fazer duas coisas. Você pode continuar com isso. Ah, e eu vou mostrar que você tem que fazer isso em apenas um segundo. Ou você sempre pode obter traço, traço, abortar Agora, se você continuar e não estiver totalmente certo sobre o que está fazendo. Não se esqueça. Você sempre pode ser redefinido. Dash, dash hard ou get reset. Dash traço suave, então eu não quero abortar isso. Eu não quero pular isso. Quero ver qual é a diferença aqui. Então, se eu conseguir def, você pode realmente ver coisas que eu realmente mudei de linha para. Mas eu não fiz, e está tudo bem. Ah, e ele também acha que há algumas coisas aqui, então nós realmente temos um exemplo interessante. Você está aqui, então vamos editar este arquivo e novamente, você não precisa usar vim ou Nano ou qualquer coisa que eu esteja usando. Você pode usar o que quiser para usar este código. Sublime Adam, qualquer editor de texto com o qual se sinta confortável. E assim, se você apenas abrir este arquivo, get terá editado para você. E então está dizendo que há um conflito aqui, mentindo 34 e 5. E agora é nosso trabalho contar. Obter quais linhas estão corretas. Então, vou apagar esta linha. Ah, eu quero ficar com 34 e cinco. Isso é correto. Quero manter o trabalho ali e depois isto. Este e aquele mundo duplica. E agora eu tenho uma linha de arquivos híbridos. 12345 por Get Hub. Além disso, a linha extra seis ali dentro. Então, se eu definir o número, você pode ver na linha seis aqui não de Get Hub. Isto é do local. Isso é do Mestre Tecnicamente. E então eu tenho esse arquivo híbrido e tudo o que ele fez foi realmente esmagou os dois arquivos juntos e dizer, Ei, mantenha essas peças em particular. E então eu mantive uma linha do que estava vindo do Mestre, e eu mantive as outras três linhas que estavam vindo do ramo rebaseado. Agora tudo o que eu tenho que fazer é salvar esse arquivo e seguir o que ele me disse para dio, que é devido a fazer para fazer isso vai nos dizer todos aparecem para obter adicionar o arquivo, em seguida, o nome do arquivo em conflito ou arquivos e, em seguida, obter rebased Dash, traço, Continuar. Agora só temos um arquivo, mas eu resolvi esse conflito. Então se eu fizer isso, pegue se pudermos ver que há uma diferença adequada aqui. Não há nada disso menos do que menos do que igual, igual, igual, igual, igual, maior do que maior do que sinais, então uma feiura lá dentro. Então nos livramos de tudo isso. E agora temos que fazer e adicionar obter anúncios repagas conflito um txt uh, obter status. E então não cometemos isso porque estamos fazendo uma base re. Ele realmente nos diz aqui todos os conflitos corrigidos. Executar, obter traço traço traço rebaseado, continuar. Obter traço traço rebased continuar aplicando conflito rebased Exemplo Ah, E então vamos fazer log traço, traço uma linha on-line Estamos on-line, mas também on-line e uma linha Então este é o nosso get log traço traço uma linha Podemos ver que Mestre agora tem este exemplo de conflito rebased aqui e se conseguirmos LG tornar isso um pouco menor temos esta bela linha reta então nós originalmente viemos de origem Mestre. Foi aí que começamos este vídeo. Muitas vezes nós ramificamos para este outro ramo e, em seguida, nós re baseá-lo em mestre e nós temos esta linha reta agradável. Essa é a coisa boa sobre re base. Então, para recapitular muito, muito rapidamente, quando você está trabalhando através de um conflito get merge, você obtém adicionar o arquivo ou você muda seu arquivo, na verdade primeiro, então você começa a ele e então você começa, commit, get, commit, e que criará uma nova mesclagem. Comprometer-se para você com uma base re. Você começa re base e, em seguida, você muda seu arquivo e, em seguida, você começa em seu arquivo. Seja lá o que for esse conflito. Assumindo que está resolvido, agora você pode adicionar isso, e então você é rebaseado. Dash traço continuar, então há uma ligeira diferença. Mas resolvendo um conflito. De qualquer forma, é exatamente o mesmo. Você está se livrando desses símbolos dentro de seu texto e você está apenas dizendo para obter qual deles usar em qual deles não usar ou quais linhas manter. Ou talvez você esteja criando um híbrido de alterações recebidas e alterações mais antigas. Quem sabe? Mas isso cabe a você decidir. E é assim que resolvemos conflitos usando, obter, obter, mesclar e obter re base 34. Como bloquear o código: em obter podemos esconder algum código para mais tarde. Realmente, isso só significa guardá-lo nos bastidores. Não me mostrem agora. E sempre que eu faço isso, obter status. Só não me diga que está lá. Só quero escondê-lo nos bastidores e talvez acessá-lo um pouco mais tarde. Agora, isso é muito útil quando você está tentando mudar de ramificações, mas você realmente tem algum trabalho que você não quer cometer, e você também não quer perdê-lo. Digamos que você esteja trabalhando em uma ramificação de recursos e saiba que está trabalhando nesse novo projeto e que está apenas trabalhando, trabalhando, trabalhando. E então alguém da sua empresa vem até você e diz: “ Ei, Ei, eu preciso que você pare o que está fazendo, e eu preciso que você conserte essa outra coisa. É muito mais importante. Nós temos um bug na produção, e ele precisa ser corrigido, mas você está no meio desse trabalho como eu. Eu não quero cometer isso, e eu não posso necessariamente deixar isso no ramo porque vai ser ele, você sabe, um pouco difícil de trabalhar com ou pior, você já está editando um arquivo que também precisa ser editado em outro ramo. É aqui que o Stash entra. O Stash basicamente diz: “ Salve o arquivo nos bastidores”. Deixe-me fazer o que eu quiser em qualquer outro lugar. E então eu parabenizo aquele esconderijo. Penso nisso como um baú de tesouro cheio de código. Posso pegar aquele baú cheio de código. Posso abri-lo, e posso reaplicar meu código um pouco mais tarde. Ok, então eu vou apenas criar uma nova ramificação aqui como um exemplo. Então, obtenha exemplo Stash ramo. Na verdade, não vimos isso antes. Eu tenho usado Get Check Out to Dash B, mas isso só vai criar uma nova filial que ainda não verificamos. Então, pegue o francês. Você pode ver que ele está em seu agora sub-mestre o que é chamado de exemplo stash, e nós podemos fazer obter check-out exemplo stash. Obter Branch, e agora estamos em nosso exemplo de estoque. Digamos que, por qualquer motivo, estou trabalhando no arquivo Leia-me, mas eu sou retirado desse trabalho e preciso ir ao ramo mestre e fazer algum trabalho . Então vamos resolver o arquivo leia-me ou código V Leia-me arquivo ou qualquer coisa assim. Algum outro trabalho aqui perto da filial do Stash, e é tudo o que estamos fazendo. Então nós apenas editamos esse arquivo. Eu faço isso. Obter status em get def. Eu mudei o arquivo leia-me e acabei de mudar essa linha, e eu fiz isso no exemplo do stash. Então, se eu fizer isso, obter status aqui, você pode ver de novo. Só tenho um pequeno arquivo e mudei uma linha nele. Não é grande coisa, mas o que dizer Vamos dizer que eu não terminei. Simplesmente não posso fazer isso. Obter anúncio e então eu me comprometo porque eu não quero isso no meu histórico de compras. Ainda não terminei isto, mas fui puxado para outra coisa. Bem, eu poderia simplesmente fazer check-out, Mestre. E se eu conseguir o status, esse arquivo ainda será alterado. Se eu conseguir def essa mudança para meus outros ramos agora no meu ramo mestre, você vê que eu estou no ramo mestre aqui e isso mudou Bem, se eu realmente precisasse fazer uma linha mudando o seu no ramo mestre e no meu ramo de recursos mas eles tinham que ser diferentes. Bem, agora eu trouxe o meu trabalho do ramo de recursos para o meu ramo mestre, e isso simplesmente não vai funcionar. E em alguns casos, pode até te dar um pouco de ar dizendo que você não pode fazer isso, por favor. Esconderijo. Então o que vamos fazer é verificar o exemplo de stash Branch, obter branch, obter status, e eu vou fazer obter estoque. E o que eu vou fazer é colocar isso no meio da página aqui, pegar o esconderijo. E assim ele salvou o diretório de trabalho e o trabalho de estado de índice em andamento no meu nome de ramificação, e foi criado a partir deste commit particular. Esse é o compromisso em que estou atualmente. Então agora se eu conseguir status branch no exemplo Stash, não há nada lá. Se eu conseguir uma lista de esconderijos, você pode ver uma lista de esconderijos é que você tem. Eu tenho um aqui, e você tem quantos quiser e este ar não é exclusivo de uma filial, a propósito, isso é global. Então eu tenho escondido em zero progresso de trabalho no exemplo de stash e, em seguida, apenas que commit. Mas agora podemos ir lá para obter check-out, Mestre, Você pode vê-lo no ramo mestre, e eu também posso adicioná-lo para me ler aqui. Leia-me o ficheiro. E eu vou mudar essa frase para dizer outra coisa. Agora, isso está no ramo principal, e na verdade, o que eu vou fazer é dizer, vestido de mestre, que saibamos. Obter status. Ok, eu estou no Mestre Steward, obter def. Você pode ver isso. Isso mudou. Adicionei texto de ramificação mestre lá. E agora eu posso cometer isso para que eu possa dizer começar a cometer trabalhou no Rush Tasker. Ah, problema do Rush. E, na verdade, não posso fazer isso. Eu preciso não obter def get add get add para me ler e então eu quero obter commit. Então agora eu posso obter log, traço, traço uma linha e você pode ver que eu trabalhei na tarefa de pressa em mestre. E meu exemplo de estoque está totalmente em outro lugar, na verdade. Digamos que temos algas. Isso será mais fácil de ler agora em seu get lg. Isso é realmente muito legal porque isso vai te dizer que você tem um estoque no ano. Você tem um trabalho em andamento no exemplo Stash. Então vamos em frente e voltar para lá. Obter check-out exemplo stash, e nós estamos apenas indo para o exemplo stash. Filial. E se eu conseguir LG, a única coisa que muda minha cabeça agora está apontando para o exemplo do esconderijo. Por que você tem lista de esconderijos? Tem um lá dentro, então vamos agora aplicar esta lista. Vamos fazer pegar o esconderijo, aplicar e eu fazer isso maior e mover isso para o centro da tela para que você possa ver isso. Obter estoque, aplicar, obter def e você pode ver que não é do ramo mestre. É do Stash Branch. E agora tenho um trabalho no Mestre que já se comprometeu e voltei aqui e nenhum dos meus progressos foi perdido. Isso é como um recurso de salvamento temporário muito agradável. Agora, se eu conseguir LG, você pode ver que os refs do esconderijo ainda existem. E se eu conseguir a lista de esconderijos, ainda está lá. Agora eu quero me livrar disso porque eu já apliquei isso e eu não preciso mais dele . Então vamos fazer cair o esconderijo, e isso simplesmente vai deixar cair o mais recente esconderijo. Então, se você tem vários esconderijos, ele só vai soltar o mais recente. E se eu conseguir uma lista de esconderijos, nada mais aparece. E se eu conseguir status ou eles obtêm status, meu trabalho ainda está lá e você pode ver algum outro trabalho lá dentro por essa filial de estoque. Agora, neste momento, eu poderia basear isso em mestre. Eu poderia fundir-se no Mestre. Eu poderia fazer algo com isso. Agora, o ponto aqui é que eu sou realmente um ramo de recursos e eu fui capaz de salvar o trabalho em andamento, coisas que eu tenho que fazer outra coisa com algum outro código, como se ele nunca tivesse mudado no primeiro lugar. Fazer o meu trabalho, fazer o que eu tinha que fazer aqui. Voltar, e eu poderia reaplicar meu trabalho em andamento e retomar exatamente onde ele parou. Esse é o poder do esconderijo. Eu uso o esconderijo quase todos os dias porque eu tenho que mudar as tarefas de forma justa, com bastante frequência. Também é muito, muito útil se você tem um monte de trabalho em que você está trabalhando, mas você nunca, se você tiver que, como, verificar outro commit se você quiser ver o que costumava existir em um commit, talvez como cinco commits atrás. Estamos aqui no momento, mas talvez quiséssemos fazer referência a algum código que está aqui em baixo. Nós faríamos isso. Cheque de zero E A B E D isso nos colocaria em seu modo de cabeça destacada. Eu teria um esconderijo aqui em cima, então está tudo bem. Eu poderia voltar aqui, eu poderia verificar as coisas, e então eu poderia verificar o meu exemplo de estoque novamente e reaplicar meu estoque, e eu nunca, nunca, nunca,teria nunca, nunca, que me preocupar em perder qualquer trabalho . 35. Adição de marcas às suas commits: em get Há esse recurso chamado Tagging. A marcação é uma forma de marcar um marco essencialmente no seu repositório git. Então você quer marcar algo que é importante? Normalmente, isso é usado para aversão ng s. Então, se dermos uma olhada, eu vou abrir uma nova guia aqui. Se olharmos para o Greg Tail, vamos ver todos os tipos de etiquetas aqui. Então nós temos todos os tipos de ramos em seu repositório oficial wag tail para todos esses diferentes estágios ou versões, e é apenas no trabalho de desenvolvimento. E então temos tags para marcar partes inteiras de trabalho. Assim, todo o caminho para o trabalho 2.7 é marcado com a versão 2.7 e você pode pensar neste tipo de apenas como um atalho para um commit particular. Então, em vez de ter que passar por esse ramo e procurar o commit mais recente porque, você sabe, poderia ter havido mais commits depois que 2.7 foi lançado e, na verdade, havia um ponto 2.7 uma vez que não havia código alterado. Isto só vai ligar a um compromisso particular para nós. Mas a coisa boa sobre isso é que isso é uma etiqueta, então nós não temos como, este enorme hash get. Podemos trabalhar com um nome de etiqueta. E então o que vamos fazer em nosso repositório é sob ramificações estão onde ele diz, Branch Master, Nós temos todos esses ramos diferentes, mas também não temos nenhuma tag. Então vamos em frente e criar uma nova tag agora. Então eu vou fazer um traço longo traço uma linha, e eu estou trabalhando em Rush Task que é o commit que eu estou em. Vamos em frente e marcamos este em particular. Então, minha cabeça está nesse compromisso. É onde estou o meu programa. Então eu vou criar uma nova tag aqui com get tag e, em seguida, eu não sei, v 0.1. E se eu conseguir o traço de log, traço uma linha, você verá que há uma nova etiqueta na sua etiqueta V 0.1. Agora, isto ainda não está no centro de “get hub “, assim como tudo o resto. Nós só trabalhamos nisso localmente, e nós não dissemos a get Hub que isso realmente existe, então nós vamos ter que empurrar isso em apenas um pouco, mas nós também podemos ver uma lista de nossas tags simplesmente digitando. Obter tag Agora, se você tem várias tags, isso não é necessariamente em ordem. Esta é uma ordem alfabética. E então só porque uma etiqueta não vem antes ou depois de outra tag realmente não significa nada. É apenas ordem alfabética agora, como eu tinha mencionado, isso não vai salvar sua tag e obter hub, a fim de chegar até saber que essas tags existem. Temos que empurrar esta etiqueta, então temos que fazer para obter origem push. E, em seguida, a tag nomeia OVI 0.1. Diz nova etiqueta V 0.1. Então vamos voltar para obter hub e atualizar Esta página agora compromete-se Nós temos V 0.1, e isso vai nos trazer exatamente para onde estamos atualmente. Acontece que é que ficar longo, traço traço uma linha. Esta tag acontece de ser exatamente onde eu estou no mestre no meu host local no meu computador, mas também é onde get hub barra mestre está também. Então vamos voltar no tempo e vamos marcar outra coisa. Vamos marcar o tipo de um aqui. Vamos pegar essa ideia de cometer. Copiei isso. Dê uma olhada e agora você pode ver que a cabeça está no erro de digitação. Estou em maneiras separadas de dizer que você está em estado de cabeça destacada Obter log, traço, traço Uma linha e você pode ver que minha cabeça está aqui. Então, se conseguirmos LG com a nossa fantasia obter LG Command, vamos fazer isso menor. Nossa cabeça está bem aqui. O Mestre está aqui em cima, mas estamos muito atrás no tempo. Então estamos em um estado de cabeça destacada Agora vamos adicionar uma etiqueta aqui. Um tubo. Pegue a etiqueta! Uh, chamá-lo. Fiz uma tag de erro de digitação e obter LG e você pode ver que agora temos uma tag aqui. Vamos voltar também, Teoh. Leia-me! Confirmação de atualização. Então vamos pegar aquele. Dê uma olhada e você pode ver que minha cabeça está aqui de volta. E então eu quero levar este também. E, eu não sei, talvez levá-lo com “get tag”. Eu não sei beta ou alfa ou eu não sei algo assim. E você pode ver que adicionamos ataque. Agora, se quisermos empurrar todas essas tags para cima de uma vez, podemos fazer isso com obter origem push, traço tags. Faça isso maior e eu vou realmente centrar isso. Então obter empurrado origem traço traço tags e esperar que ele faça a sua coisa. E o real nós temos novas etiquetas. Então, vamos atualizar nossa página de hub get e temos as diferentes tags. Agora, se eu for como Beta, por exemplo, você pode realmente ver que eu não tenho todos os arquivos que meu mestre tem master como um monte de outros arquivos. Mas Beta não, porque voltamos no tempo e marcamos. Agora vamos dizer que você acidentalmente marcar um commit e é a tag errada ou a confirmação errada . Vamos em frente e excluir uma tag para que possamos fazer get tag e você pode realmente ver novamente. Isso não está em nenhuma ordem específica. Isto é apenas em ordem alfabética. Então queríamos excluir a tag de erro de digitação porque digamos que isso não é realmente útil. Quem se importa? É um tipo de ninguém se importa tanto com um erro de digitação. Poderíamos ser marcados D e, em seguida, a tag, Nome,Tag Nome, digitação e, em seguida, obter tomada novamente. Ok, isso sumiu do meu computador. Mas não passou de get hub de modo a ser empurrado origem, traço, traço tags. Oh, não! Bem, isso não funciona. A razão para isso é porque não estamos adicionando nada. Não estamos empurrando nada para a origem. Na verdade, queremos excluí-lo da origem. E então este é um comando ligeiramente diferente. Uau! Meio parecida, na verdade. Mas é obter origem push e, em seguida, traço , deletar. E, em seguida, o nome da etiqueta e esse nome da etiqueta era tipo O. E isso vai deletar para nós do Get Tub. Lá vamos nós. Tag foi excluída. E então eu apenas atualizei minha página lá. E se eu voltar para as etiquetas, tag de erro de digitação não estará mais lá. Agora, por que isso é útil? Bem, vamos fazer isso. Isso é obter check-out, Mestre. Então agora estamos de volta em um estado de cabeça anexado. Nós poderíamos fazer obter LG, e você pode ver aqui é a tag principal V 0.1. Mas digamos que eu queria pular para a beta tag onde quer que fosse. Mas como eu não vou me lembrar desse hash commit você não vai se lembrar desse hash de Commit e não faz sentido lembrar disso. Então, o que podemos fazer em vez disso é dizer “Saia, Beta”. Tenho um feitiço. Verifica bem, no entanto. Obter check-out beta. E eu só estou pegando isso do nome da etiqueta aqui. Se eu conseguir outra LG, pulou direto para a etiqueta beta. Obter check-out V 0.1. Certo, vamos pegar a LG. E a nossa cabeça está de volta a esta etiqueta. Agora. Nós realmente não verificamos um ramo neste aqui, então você vai notar que a cabeça não está realmente apontando para nenhum ramo. Este é o lugar onde Mestre, é aqui onde a origem Mestre é Este é o lugar onde uma tag V 0.1 está. Mas a nossa cabeça não está ligada a nada aqui. Então, a fim de realmente anexar isso, nós vamos querer começar a verificar Mestre, nós queremos verificar o nome real da filial e para outro get lg. E agora você pode ver que a cabeça está apontando para o mestre. Isso é o que queremos. Então agora você deve ter seu próprio Repo hospedado no hub Get. Eu gostaria que você pegasse seu último commit e empurrasse esse take e então tire uma captura de dessa tag. Então, essencialmente, deve ser assim. Você tem galhos e tem marcado. Basta fazer uma captura de tela com suas tags aqui, você pode ter apenas uma tag. Você pode ter 30 etiquetas. Isso depende de você, mas eu só quero ver uma captura de tela de suas tags aqui. 36. Aula final: Okey dokey. Você passou por todo este curso. Passamos por muitas coisas diferentes como um breve resumo do que você aprendeu . Se você fez este curso do zero desde o início até o fim aqui, você aprendeu basicamente como usar entrar na linha de comando, o que é realmente importante porque, você sabe, em um servidor não há nenhum gráfico interface do usuário. Não há nenhuma ferramenta visual que você tenha aprendido a instalar. Entre no seu computador como configurar, veja como adicionar sua chave ssh clonando um repositório criando um novo repositório Todos os tipos de coisas lá Criamos ramificações, open pull requests que lidamos com arquivos de teste, un arquivos de teste desfazendo confirmações duras redefinições, redefinições suaves obtêm logs. Um pseudônimo get chamado Obter LG. Aprendemos a puxar e buscar o que me leu. Os arquivos são como ignorar arquivos. Como bifurcar um repo, como abrir, obter problemas. Nós conversamos um pouco sobre revisões de código, e nós até cavamos em força empurrando, que novamente, ter muito cuidado com. Nós também olhamos para a fusão de ramos versus re basing ramos e lidar com conflitos. Ambos mesclam conflitos e rebaseiam conflitos, escondendo seu trabalho e também adicionando tags. Então, basicamente, este é todo o seu fluxo de trabalho diário. Eu não deveria dizer diariamente, talvez semanalmente. Você vai usar praticamente todos esses recursos em uma base semanal. Quando você começa a trabalhar com uma equipe agora, há muito que você pode fazer com obter e levantar-se ou obter balde de órbita de laboratório. Na verdade, há mais que você pode fazer com obter laboratório, e depois obter Hub. Get Hub é o nome da marca. Mas Get Lab realmente empurra toda a coisa de integração contínua. E eles realmente atestam, você sabe, desenvolvimentos perfeitos, enquanto obter Hub é mais sobre o código, eu acho que de qualquer maneira, isso pode mudar no futuro. Mas até agora nós cobrimos o fluxo de trabalho regular para praticamente a maioria dos projetos que você iria executar no futuro. Mas se você estiver interessado em continuar a aprender e praticar suas habilidades, eu vou recomendar duas coisas. 1º 1 é este site chamado Aprendizagem. Obter ponto ramificado Js dot órgão. Isto é interativo. Chegar para você para que você não tenha que fazer todas essas coisas em get hub se você não quiser , embora eu acho que é melhor praticar se você fizer isso, tipo de viver com, tipo, obter hub. Ah, mas se você queria entrar em outras coisas que talvez eu não tenha coberto, então você pode usar isso como um aprendizado muito, muito bom, e é tudo interativo. Então, por exemplo, eu vou te explicar rapidamente sobre isso. Então nós temos cometer zero e cometer um, e isso vai nos guiar. Isso vai tentar aos professores como isso funciona e obter fluxo. Isto é muito mais visual. Então, para os alunos visuais, você vai adorar essa ferramenta. Isso é realmente ótimo. E eu uso isso quando eu estava aprendendo Get pela primeira vez também. Esta foi uma ferramenta muito útil para mim. Agora, se isso realmente não é a sua coisa e você prefere um livro, eu recomendo ir para o livro preso kicker dot com barra obter livro. E este é um livro muito extenso. Há fazer para fazer uau, 61 capítulos. Há coisas aqui que eu não cobri, e há coisas aqui que você simplesmente não vai usar no dia-a-dia. Não é algo que você vai usar com muita frequência, mas este é um livro totalmente gratuito. Você pode apenas baixar o PDF bucking para ver. Vai começar a baixar para mim. Você não pode ver que está fora da minha área de gravação. Ele baixou o livro para mim de graça, e você pode passar por todas essas coisas avançadas. Isto é muito, muito fixe de saber. Mas, novamente, nem tudo é super útil. Tudo o que você aprendeu neste curso é o que você vai usar diariamente ou semanalmente. Tudo o resto pode ser um pouco demais, mas se você realmente quer se tornar isso, chame o assistente. Este é o livro para você, e novamente é totalmente grátis. Por último, se você quiser levar todas essas coisas para o próximo passo para o próximo nível, você também pode olhar para a configuração da integração contínua para que você possa querer Google essa palavra. Integração contínua. Ah, existem ferramentas lá fora como um Circle C I e Travis para adicionar integração contínua ou C I em seu projeto, e que vai fazer todos os tipos de coisas para você pode ter certeza de que há certa formatação você pode certificar-se de que as pessoas não têm comentários no seu código. Você pode ter certeza que ninguém escreve duas DUIs em seu código ou se você está feliz com onde você está . Honestamente, agora você tem habilidade suficiente para ir trabalhar com a equipe. Você sabe tudo o que precisa saber para trabalhar com uma equipe. Mesmo desenvolvedores bastante avançados que têm usado get por um longo tempo tendem a usar esses tipos de ferramentas uma e outra vez e outra vez. Então você já está atualizado com o que eu diria que os desenvolvedores sênior estão usando quando se trata obter. Por último, meu nome é Caleb Tallinn. Obrigado por sintonizar e fazer este curso. Eu realmente aprecio você. Tomar o tempo get é uma ferramenta essencial, mas não precisa ser complicado as pessoas mais complicado, e é apenas desnecessário. Fico feliz que tenha feito este curso. E se você gosta do meu método de ensino, não se esqueça que tenho outros cursos disponíveis na Internet. Só me dê um Google de novo. Meu nome é Caleb Tallinn, ou sinta-se à vontade para me seguir no Twitter