[MÚSICA]
Vamos agora explorar alguns comandos básicos do Git que são muito úteis para
nós nesta especialização.
Há muito mais no Git do que o que cobrimos neste exercício.
Para começar, vá para o local conveniente no computador
e crie uma pasta chamada git-test.
Em seguida, abra esta pasta no seu editor favorito.
Aqui, eu tenho a pasta GIT-TEST que acabamos de criar aberta no
meu Visual Studio Code.
Deixe-me adicionar um arquivo a esta pasta chamada index.html,
agora você pode ver que eu adicionei algum
código HTML neste arquivo index.html.
Vamos salvar as alterações.
Agora vamos mudar para a nossa linha de comando,
na linha de comando ir para a pasta git-test, e
vamos inicializar esta pasta para ser um repositório git.
Então, para fazer isso na linha de comando digite git init.
Agora, esta pasta foi inicializada para ser um repositório git.
Então este é o nosso primeiro comando git que aprendemos, git init.
Isso inicializa a pasta atual como um repositório git e
quando inicializa a pasta, ele marcará essa pasta como um mestre.
Este é o ramo principal do meu kit.
Agora não vamos nos preocupar com ramos e assim por diante,
não vamos lidar com isso neste curso.
Só trabalharemos com o ramo mestre, nesta especialização particular.
Então isso seria marcado como um mestre.
Este é o ponto inicial do nosso repositório.
O próximo comando que vamos olhar é git status.
Se você digitar git status na linha de comando,
ele informará o status atual da pasta.
Então vamos fazer isso na linha de comando e ver o que ele mostra.
Na linha de comando, digite git status e
leia as informações que são tocadas na janela de comando.
Você vê que ele diz no ramo mestre, de modo que é o ramo mestre que adicionamos.
E ele diz, arquivos não rastreados e, em seguida, mostra index.html em vermelho.
Em seu computador específico, ele pode estar usando cores diferentes ou
representar isso de forma diferente ou isso é o que ele mostra no meu Mac.
Então agora, este arquivo index.html que acabamos de criar nesta pasta
não foi adicionado ao nosso repositório git.
Então vamos em frente e adicionar esse arquivo ao repositório git.
Então, para fazer isso, nós dizemos, git add, e você pode simplesmente dizer dot,
o que significa que todos os arquivos no diretório atual serão adicionados ao
que é chamado como a área de teste do meu repositório git.
Então, agora, se eu digitar novamente git status,
você verá que o arquivo index.html está marcado em verde.
E ele diz, alterações a serem confirmadas lá e, em seguida, mostra o nome do arquivo e, em seguida,
isso significa que este arquivo agora está pronto para ser submetido ao meu repositório git.
Então, o próximo comando que vimos foi git add.
Usando o git add você pode adicionar arquivos ou pastas a essa área de teste.
Então, uma vez que você adicioná-lo à área de teste, então você pode enviar esse instantâneo
do status da nossa pasta para o nosso repositório git.
Então isso significa que quando você faz o git commit,
o que este comando fará é submeter o
estado atual de nossas pastas em nossos repositórios git.
Então, todos os arquivos como eles existem no momento,
uma vez que eles foram encenados usando o git add, então eles serão comprometidos com o nosso
repositório git quando executarmos a pasta de comando git.
Então, neste ponto, quando executamos o comando git, então nosso
estado inicial agora será alterado para o primeiro commit para o repositório git.
Então vamos em frente e fazer isso.
De volta ao prompt de comando, vamos digitar git commit.
E então podemos até adicionar uma mensagem ao nosso commit.
Então eu vou dizer git commit -m “first
commit” porque este é o nosso commit para o nosso repositório git.
Então, quando eu faço isso, ele diz, ok, 1 arquivo foi adicionado ao repositório git e
algumas outras informações serão digitadas na janela de comando.
Então vamos agora verificar novamente, git status e
agora você vê que ele não diz nada para confirmar, diretório de trabalho é limpo.
Então o que isso significa é que o estado atual do meu diretório de
trabalho ou pasta de trabalho foi comprometido com o repositório git, então
um instantâneo foi submetido ao meu repositório git.
Agora, eu posso digitar o próximo comando chamado git log —oneline,
e ver que ele mostra um número lá, um número de oito dígitos lá,
e então também mostra a mensagem que colocamos em nosso commit dizendo primeiro commit.
Então esse é o log de todos os commits que foram colocados no meu repositório git.
Então, voltando ao nosso próximo comando git,
vimos que o git log —oneline
nos mostrará um breve log de todos os commits.
Se você simplesmente digitar git log
exibir informações muito mais detalhadas sobre todos os commits.
Mas isso é suficiente para obter informações que precisamos.
Vamos agora voltar ao nosso editor aqui, no Visual Studio Code,
então vou adicionar mais alterações ao meu arquivo index.html.
Mudei meu arquivo index.html.
Agora, deixe-me adicionar outra pasta sob a pasta de teste git, então
eu vou criar uma subpasta aqui chamada templates, e dentro dessa
pasta templates, eu vou criar outro nome de arquivo, test.html.
Isto é apenas para mostrar como o git
pode submeter toda a hierarquia de pastas em seu repositório.
Então, com test.html agora lá, eu
vou apenas copiar tudo do meu index.html
para o meu test.html e salvar as alterações.
Voltando para a linha de comando,
vamos agora verificar o status do nosso repositório git e desta pasta.
Então digite o status do git, mostra que
o arquivo html do status do índice que já entregamos anteriormente ao repositório
foi modificado, então há uma versão mais recente do arquivo index.html.
Além disso, ele mostra que existem alguns
arquivos não rastreados nesta pasta chamados templates.
Vamos adicionar todas essas alterações para o teste
da área, então novamente, digite git add.
E então todos esses arquivos serão adicionados à área de teste.
Novamente, verificando o status.
Agora você vê que as alterações que foram adicionadas à área de preparação.
Então todos esses arquivos foram adicionados à área de teste.
Vamos fazer mais um commit, então
eu diria git commit -m, segundo commit e
então vamos verificar o log.
Se você verificar o log, você verá agora que existem dois commits
no meu repositório git, o primeiro e o segundo commit.
E note que cada um deles recebe um número diferente lá.
Se você quiser ver seus detalhes completos do log,
você pode digitar simplesmente, git log e, em seguida, você receberá mais detalhes lá.
Então o que você estaria interessado.
Então, observe que o commit oneline só dá os
primeiros caracteres do meu número de commit lá.
Isso é suficiente para nós operarmos.
Deixe-me agora voltar para o Visual Studio e, em seguida, adicionar mais um.
Mais uma linha para o meu arquivo index.html.
Então agora meu arquivo index.html foi modificado.
E vamos salvar as alterações.
Voltando para a linha de comando, fazendo o
status do git mostra que o arquivo index.html foi modificado.
Então vamos adicionar isso à área de teste e, em seguida, fazer um terceiro commit.
Então, digamos, git add. ,
git status,
agora você vê que o index.html a versão modificada foi adicionada.
Agora podemos dizer git commit.
“ terceiro commit” e fazer git log —oneline,
e você vê que há três commits em nosso repositório.
Então agora nosso repositório contém instantâneos de três pontos diferentes,
no final do primeiro commit, no final do segundo commit, e
no final do terceiro commit.
Agora, também podemos reverter as alterações,
podemos reverter o repositório para uma versão anterior.
Podemos retirar um arquivo de um commit mais antigo e,
em seguida, substituir o diretório existente do commit antigo.
Então, vamos ver como podemos operar com essas coisas
aprendendo mais alguns comandos.
Nesta fase, nosso arquivo index.html está no estado atual.
Então você pode notar que ele tem um h1 e dois ps.
Vamos agora olhar para o próximo comando git.
O próximo comando git que vamos aprender sobre é git checkout.
Então este comando checkout nos permite fazer check-out de um arquivo
de um commit anterior em nosso repositório git.
Então, se não gostarmos do arquivo atual que temos em nossa pasta e
queremos voltar para sua versão anterior do arquivo,
podemos sempre verificar o arquivo de um commit anterior ou
do commit atual e, em seguida, continuar a trabalhar com esse arquivo.
Então vamos fazer uso disso e ver algumas alterações adicionais em nosso repositório git.
Voltando à nossa linha de comando, lembramos que, entre o segundo e
o terceiro commit, fiz alterações no meu arquivo index.html.
Suponha que eu queira reverter para o arquivo index.html do meu segundo commit.
Então, eu posso simplesmente dizer,
git checkout 900cfcf.
Então isso é commit identificar o número que identifica o commit particular,
e então eu posso dizer index.html, e o que você notaria é que,
esse arquivo mais antigo agora será verificado para fora no meu diretório de trabalho atual.
Indo para o meu Visual Studio Code,
agora você notará que meu arquivo index.html foi revertido para o trabalho anterior, portanto,
a alteração que eu fiz antes do terceiro commit agora desapareceu.
Então, meu arquivo index.html foi restaurado ao seu estado no final do segundo commit.
Agora, na linha de comando, se eu tentar git status,
você notará que este arquivo index.html que foi revertido
para o que era no final do segundo commit, ele já foi encenado.
Então, usando este checkout do git, vamos retirar uma versão mais antiga do arquivo
e, em seguida, substituir o que está no diretório atual, e, em
seguida, ele também irá verificá-lo na área de teste.
Então, agora, se eu fizer isso e então eu percebo que isso é o que
eu quero, eu posso simplesmente fazer outro compromisso neste momento.
E então esse arquivo pode ser confirmado como o quarto commit.
Mas suponha que eu não gosto disso, eu quero dobrar
para voltar para o arquivo index.html no final do
terceiro commit, então tudo o que eu posso fazer é dizer git reset,
HEAD e index.html.
Então, neste ponto, o que acontece é que o index.html,
a versão modificada que eu tinha verificado ainda está lá, mas
este arquivo não foi preparado da área de teste.
Se você voltar e olhar para o index.html em seu editor,
ele ainda mostrará o estado no final do segundo commit.
Porque tínhamos retirado o arquivo usando o checkout para isso.
Agora, se você quiser revertê-lo de volta para o que era no final do terceiro commit,
então nós fazemos mais um checkout do terceiro commit indo para a nossa
janela de comando, digite git status e
você notaria que o index.html está marcado como modificado.
Mas também mostra esta afirmação em particular aqui.
Ele diz git checkout — e
o nome do arquivo, para descartar as alterações nos diretórios de trabalho.
Portanto, essa é uma forma de descartar as alterações que você fez em um determinado
arquivo correspondente ao comentário anterior.
Então deixe-me apenas restaurar esse index.html de volta ao que era no final
do terceiro commit.
Então, para fazer isso, eu poderia simplesmente dizer git, checkout,
— index.html e então,
se eu fizer git status, ele mostra que meu diretório está limpo.
E basicamente meu diretório foi restaurado para
o estado no final do terceiro commit.
Indo para o arquivo no meu Virtual Studio Code, vejo que
seu arquivo foi restaurado de volta ao que era no final do terceiro limite.
Então esta é uma maneira que você pode, se você fez alterações em seu
arquivo após o commit e você quer simplesmente descartar essas alterações,
você pode simplesmente verificar o arquivo do último commit, e então todas
as suas alterações que você fez após o último commit serão descartadas no local.
Então estes são alguns comandos básicos que são muito úteis para
você enquanto você percorre os cursos nesta especialização
porque você pode querer se comprometer no final de cada exercício.
E à medida que você avança, você ainda teria uma visão guiada
do estado de sua pasta no final do exercício anterior.
Dessa forma, se você está realizando um novo exercício e você descobriu que
cometeu erros e quer reverter para o commit anterior,
você sempre tem uma maneira de fazer isso usando os comandos que acabamos de deixar.
Assim, com esta compreensão básica destes poucos comandos git,
você será capaz de prosseguir com a compreensão e
uso do git nos cursos desta especialização.
Então, agora, nós revisamos o git reset para um arquivo específico ou git reset em geral.
Se você simplesmente digitar git reset, ele irá restaurá-lo de volta para o último commit.
Assim, ele irá redefinir a área de teste para o último commit,
sem perturbar as alterações que você fez em seu diretório de trabalho.
Então, uma vez que você redefinir, então você pode verificar
a versão anterior do arquivo que você confirmou no commit anterior.
Então, esta semana, você pode restaurar sua pasta de volta para o local onde você estava
no ponto inicial da confirmação anterior.
Então, às vezes, quando você está passando por um exercício e você percebe que perdeu uma deixa.
Sempre tenha uma maneira de reverter para uma versão anterior.
Então, com esses comandos, eu acho que você está pronto para ir em frente para
usar o git nos cursos desta especialização.
Então, no final deste exercício, você fez isso?
[ MUSIC]