Como restaurar o Git para o guia estadual anterior para restaurar, redefinir, reverter e rebocar

Como restaurar o Git para o guia estadual anterior para restaurar, redefinir, reverter e rebocar
Se você tem um histórico de desenvolvimento, deve estar ciente de muitas ferramentas de desenvolvimento. Quando você desenvolve um projeto individualmente por meio de qualquer linguagem de programação, você se sente confortável com uma interface de linha de comando (terminal) ou ferramentas da GUI.

Mas e se você estiver trabalhando com os membros da equipe, é difícil enviar pedaços de programas para todos os membros da equipe individualmente. Há também um limite de tamanho de arquivos em diferentes plataformas que não permitem ao usuário enviar mais do que o tamanho descrito.

É difícil colaborar quando o projeto é muito grande e precisa de modificação o tempo todo. Para isso, você precisa de um sistema de controle de versão distribuída que o ajude a colaborar com os membros da equipe em todo o mundo. É bom usar um sistema de controle de versão distribuída para projetos de software pequenos e grandes. Cada um dos membros da equipe terá acesso total ao repositório completo no sistema local e poderá trabalhar offline.

Um desses software versátil é Git, e um repositório alças por git é conhecido como Github, onde você pode salvar seus projetos e é acessível por qualquer membro da equipe.

Antes de iniciar o Git Introdução, você deve saber sobre o Sistema de controle de versão (VCS), como Git é um dos sistemas de controle de versão distribuída. Você deve ter uma idéia sobre os VCs, especialmente se você tiver um fundo de desenvolvimento de software.

Sistema de controle de versão (VCS)

Ao fazer o trabalho em equipe, o sistema de controle de versão ajuda a manter um registro de modificações, recursos e faixas nos projetos. Com isso, uma equipe pode trabalhar com a cooperação e também separar seus pedaços de tarefas através de ramos. O número de ramificações no VCS depende do número de colaboradores e pode ser mantido individualmente.

Como esse sistema de gerenciamento de processos registra toda a história das mudanças no repositório, se algum membro da equipe cometeu erros, eles podem compará-lo com as versões de trabalho e desfazer. Isso ajuda a minimizar os erros, pois você tem a opção de voltar ao estado anterior.

Outras características notáveis ​​dos VCs são:

  • Não depende de outros sistemas de repositório.
  • Você pode criar um clone de repositórios para que, em caso de falha ou falha, você não perderá todo o projeto.
  • Para todos os arquivos e documentos, o histórico está disponível com hora e data.
  • Existe um sistema de tags em VCs que ajuda a mostrar a diferença entre todos os tipos de documentos diferentes.

Tipos de sistema de controle de versão

O VCS é dividido em três tipos:

  1. Sistema de controle de versão local (VCS)
  2. Sistema de Controle de Versão Centralizada (CVCS)
  3. Sistema de controle de versão distribuída (DVCs)

Sistema de controle de versão local

No sistema de controle de versão local, os arquivos rastreiam são mantidos dentro do sistema local; é simples, mas as chances de falha dos arquivos são altas.

Sistema de controle de versão centralizada

No sistema centralizado de controle de versão, o servidor centralizado mantém o rastreamento de todos os arquivos; Ele tem um histórico completo das versões e informações do cliente de todos os arquivos se eles verificarem os arquivos do servidor. É como um sistema cliente-servidor, onde qualquer um pode compartilhar o servidor e também acessar o trabalho de todos.

Sistema de controle de versão distribuída

O último é o sistema de controle de versão distribuída que vem para controlar as desvantagens dos VCs centralizados. Nesse tipo, o cliente pode criar um clone de um repositório completo que inclua histórico e rastrear arquivos. O servidor volta em caso de falha usando a cópia do repositório do cliente como um clone é considerado um backup completo de dados. Projetos de código aberto como Git etc., Use esse tipo de sistema de controle de versão.

O que é git?

Git é um dos softwares do sistema de controle de versão distribuída (VCS) que mantém toda a rastreamento dos dados. O objetivo por trás do desenvolvimento do Git O software é fornecer uma plataforma de colaboração, onde todos os desenvolvedores podem compartilhar seu código fonte durante o desenvolvimento do projeto. Outras características importantes de Git são; Ele fornece uma plataforma de código aberto com desempenho de alta velocidade, é compatível, ponderado leve, confiável, seguro, garante a integridade dos dados, gerencia milhares de filiais em execução em diferentes sistemas, e assim por diante.

Em 2005, Linus Torvalds decidiu criar um novo sistema de controle de versão para atender às necessidades da comunidade e manter o sistema de kernel Linux. Com a ajuda de outros desenvolvedores do Linux, a estrutura inicial de Git foi desenvolvido e Junio ​​Hamano foi o mantenedor principal desde 2005. Linus Torvalds ficou offline, apresentou o sistema revolucionário e nomeie -o Git. E agora, um grande número de empresas multinacionais, como Google, Firefox, Microsoft e startups, usam o GIT para seus projetos de software. É difícil identificar Git Como um sistema de controle de versão (VCs), Sistema de gerenciamento de código -fonte (Scm), ou sistema de controle de revisão (Rcs) como é desenvolvido com a funcionalidade do trio.

Git Workflow

Quando um projeto Git é iniciado, ele se divide em três segmentos:

  1. Diretório Git
  2. Árvore de trabalho
  3. Área de preparação

O Git Diretório é sobre todos os arquivos, incluindo o histórico de mudanças. O Árvore de trabalho O segmento mantém o estado atual do projeto e todas as mudanças. E a Área de preparação diz ao Git Que mudanças possíveis no arquivo podem ocorrer no próximo compromisso.

Existem duas possibilidades de estado de arquivo presente em um diretório de trabalho:

  1. Não rastreado
  2. Monitorados

Ou um arquivo será não rastreado ou estará em um estado rastreado.

Vamos explorar esses dois:

Estado não rastreado

Arquivos que não são adicionados, mas presentes no diretório de trabalho estarão em um estado não rastreado; Git não está monitorando -os.

Estado rastreado

Os arquivos rastreados são os arquivos que estavam presentes no último instantâneo e Git tem uma ideia sobre eles.

Cada um dos arquivos rastreados pode residir em um dos sub-estados mencionados:

  1. Empenhado
  2. Modificado
  3. Encenado

Empenhado

Este estado do arquivo significa que todos os dados do arquivo são armazenados no banco de dados local com segurança.

Modificado

Um arquivo altera seu estado de Empenhado para Modificado Quando as mudanças foram feitas no arquivo. Pode haver qualquer tipo de alteração, como excluir conteúdo, atualizar ou adicionar qualquer coisa. Simplesmente, esse estado significa mudanças que ainda não foram cometidas agora estão ocorrendo.

Encenado

O estado encenado incluiu dois tipos de arquivos: arquivos modificados ou arquivos não rastreados (arquivos recém -criados). Quando todas as modificações de um arquivo são concluídas, ele é transferido para o estado encenado.

Como instalar o Git no Ubuntu

Você não precisa de permissão do sudo para instalar o Git no Ubuntu; Pode ser baixado com ou sem usuário de raízes.

Para verificar se Git Já está instalado no seu dispositivo ou não, execute o comando fornecido:

$ git -versão

Se estiver presente no seu sistema, você receberá um Git versão. Como não está presente no meu sistema; Para instalar, execute o comando fornecido:

$ sudo apt install git

Agora, execute o comando da versão novamente para verificar se foi instalado com sucesso:

$ git -versão

Configurando git

Após o processo de instalação, o próximo passo é configurar o Git configure para que você possa começar com o Git Programas.

Para configuração, você precisa inserir seu nome e endereço de e -mail através do “Config Git”Comando.

Primeiro, você precisa inserir seu nome de usuário para definir para o sistema Git; Digite o comando mencionado para isso:

$ Git Config -Usuário global.nome "Wardah"

Agora, defina o endereço de e -mail através do seguinte comando:

$ Git Config -Usuário global.Email "[email protected] "

Quando você define credenciais para o Git Aplicação, ele será armazenado no arquivo de configuração do Git ““./gitconfig ”; Você pode editar informações usando qualquer editor de texto como Nano, etc.

O comando usado para esse fim é:

$ nano ~//.GitConfig

Se você deseja editar informações como nome ou e -mail, faça -o no editor e pressione “Ctrl+x”E então pressione "Y/Y"; Ele salvará as modificações e saída do editor.

Guia completo para restaurar, redefinir, reverter e rebase

Ao trabalhar com o aplicativo Git, você enfrenta desafios onde precisa voltar para qualquer um dos compromissos anteriores. É um dos aspectos git menos conhecidos, pois muitos de nós não sabem como é fácil voltar ao último estado do commit.

É muito fácil desfazer mudanças significativas no repositório se você souber a diferença entre os termos “Restaurar“,“Reverter“,“Reiniciar", e "Rebase““. Para desempenhar a função necessária (de volta ao estado anterior), você deve conhecer suas diferenças.

Este artigo abordará quatro aspectos principais de Git:

  1. Restauração Git
  2. Redefinição do Git
  3. Git reverter
  4. Git Rebase

Vamos explicar todos eles separadamente para que você possa entender melhor:

Restauração Git

A operação de restauração do Git ajuda a restaurar o conteúdo do índice de estadiamento ou de qualquer compromisso no diretório de trabalho. Ele não atualizará a filial, mas muda o histórico de compromissos ao restaurar os arquivos de outras confirmações. Especificou os caminhos na árvore de trabalho; Esses caminhos ajudam a encontrar o conteúdo enquanto restaura.

A restauração usa alguns comandos para recuperar o conteúdo, se você encontrar o “encenado”Comando, significa que os arquivos são restaurados do Cabeça ou índice; Para restaurar arquivos de outros compromissos, use o “-fonte”Comando, e se você quiser restaurar a“ árvore de trabalho ”e o índice, pode fazê -lo através de“-encenado" e "-Worktree”Comandos.

Para restaurar as modificações feitas recentemente, siga a sintaxe mencionada abaixo:

Git Restore [nome do arquivo]

Por exemplo, você adicionou um arquivo pelo nome de “My_Git.TXT" Usando o comando mencionado abaixo:

$ git add my_git.TXT

Para verificar se o arquivo existe ou não, o comando fornecido seria usado:

$ git status

Agora, vamos remover este arquivo usando:

$ rm -f my_git.TXT

Verifique novamente o status:

$ git status

Como pode ser visto que o arquivo foi excluído. Agora, para restaurá -lo, use:

$ git restaurar my_git.TXT

Verifique o status novamente:

$ git status

O arquivo foi restaurado. O "encenado ” O sinalizador é usado para restaurar um arquivo específico do Git adicionado anteriormente, por assim dizer, siga a sintaxe dada:

Git Restore -ENDEGADO [nome do arquivo]

Para restaurar vários arquivos da área de preparação, você precisa usar caracteres curinga com o nome do arquivo; como:

Git Restore -Etagado *[nome do arquivo]

Para restaurar as modificações locais não comprometidas, a mesma sintaxe seria seguida como fizemos acima, mas eliminará o “-encenado”Bandeira do comando.

Lembre -se de que essas modificações não podem ser desfeitas.

Git Restore [nome do arquivo]

No diretório de trabalho atual, todos os arquivos atuais podem ser restaurados através da seguinte sintaxe:

Restauração Git .

Redefinição do Git

Você pode considerar Redefinição do Git como um recurso de ressonância porque é usado para desfazer modificações. Quando você usa o recurso de redefinição do Git, ele retornará seu ambiente atual ao comprometimento anterior. Esse ambiente de trabalho pode ser qualquer estado como diretório de trabalho, área de estadiamento ou armazém local.

Nós explicamos o Área de preparação e Diretório de trabalho; No recurso de redefinição, o Cabeça é um ponteiro em direção a um novo ramo ou ramo atual. Sempre que você muda do anterior, ele se refere à nova filial. É uma referência do ramo anterior para mais adiante, para que possa ser considerado uma ação dos pais.

Para executar o comando git reset, você recebe três modos diferentes de git; Macio, Misturado, e Duro. Quando você executa o comando Git Redefinir, ele usará misturado modo por padrão.

Se nos mudarmos para o Redefinir Git com força, aponta a cabeça para a confirmação especificada e exclui todas as confirmações após a confirmação específica. Quando você usa o comando rígido de redefinição, ele atualiza o diretório de trabalho, bem como a área de estadiamento e muda o histórico de compromissos. O Redefinição do Git Soft redefine os ponteiros de referência e os atualiza; Quando passamos -macio argumento, não toca no diretório de trabalho e na área de preparação e redefine o histórico de commit. O Reset Git misto é o modo padrão de git; Quando você o executa, os ponteiros de referência são atualizados e envia as alterações desfeitas do índice de estadiamento para o diretório de trabalho para completá -los.

Para redefinir (desfazer) todas as modificações que você fez na última confirmação, o comando a seguir seria usado:

$ git Reinicia -Cabeça difícil

Ele descartará todas as mudanças que acontecem no último commit. E para dois compromissos antes "CABEÇA":

$ git Reinicia -Cabeça difícil ~ 2

O comando acima é dificilmente usado porque tudo, incluindo o histórico de commit, será atualizado para um commit específico. Além disso, o índice de estadiamento e o diretório de trabalho também serão redefinidos para esse compromisso específico. Você pode perder dados cruciais que estavam pendentes no índice de estadiamento e no diretório de trabalho. Para evitar isso, use "-soft" no lugar de difícil.

$ git Reinicia -cabeça macia

O comando acima não alterará o diretório de trabalho e o índice de estadiamento. Vamos usar a opção "Redefinir" para soltar um arquivo:

Em primeiro lugar, crie um arquivo e adicione -o a qualquer ramo usando:

$ git add Índice.html

O comando acima está adicionando um "índice.html ” arquivo para a filial mestre. Para verificar o status:

$ git status

Para se soltar o arquivo "índice.html ”, usar:

Índice de redefinição $ git.html

Git reverter

Git reverter a operação é bastante semelhante ao Redefinição do Git comando; A única diferença é que você precisa de um novo compromisso para voltar ao compromisso específico ao executar esta operação. O comando de revert é usado para cancelar as alterações que acontecem após a execução do comando de redefinição. Para isso, não excluirá nenhum dado; Basta adicionar um novo compromisso no final que cancelará a modificação no repositório.

Para reverter no compromisso, mencione o hash com a opção Revert:

git revert [commit_ref]

O comando git revert precisa de uma referência, o que significa que o comando não funcionará. Vamos usar "CABEÇA" Como referência de confirmação.

$ git reverter cabeça

O comando mencionado acima reverterá a última confirmação.

Git Rebase

O Git Rebase é usado para mesclar ou combinar a sequência de começos na nova base. É o processo de integração de mudanças e as transfere de um ramo para outro (uma base para outra). É uma alternativa ao “mesclar”Comando, mas de alguma forma diferente, e, portanto, pode nos confundir porque ambos são semelhantes. O "mesclar”O comando é usado para combinar a história compromete a história e manter o registro como aconteceu, enquanto os comandos de rebase reescrevem ou reaplicarão a história das commits no topo de outra filial.

Vamos demonstrar o conceito de opção de rebase através de um exemplo:

Na história acima, “características"É um ramo com"B”Como sua base. Use o seguinte comando para mesclar o "características" ramificar após o compromisso final:

git rebase [commit_ref]

A referência de confirmação pode ser algo como um ramo, id ou tag. Por exemplo, para rebase o "características" ramo para o mestre, que é "D", Use o comando abaixo mencionado:

Recursos de checkout $ git $ Git Rebase Master

Quando você executa este comando, o "características" A filial será anexada ao mestre, que é uma nova base:

Conclusão

No gerenciamento de configuração de software, Controle de versão é um componente crucial para gerenciar mudanças na documentação, programas ou projetos de software. Essas mudanças são identificadas numericamente e intituladas “revisão““. Suponha que a primeira versão seja definida como "Revisão 1". Quando qualquer membro da equipe altera o projeto, ele o salvará como "Revisão 2" com o registro de data e hora e a pessoa em questão que fez modificações.

O sistema de controle de versão é dividido em três categorias VCs locais, VCs centralizadas e VCs distribuídos. Um dos exemplos de VCs distribuídos é Git, Software de código aberto que ajuda a gerenciar todos os registros de um projeto de desenvolvimento. Ele fornece uma plataforma colaboradora levemente ponderada com alto desempenho e gerencia várias filiais em execução em diferentes sistemas.

Sempre que você começa com um projeto no sistema Git, o fluxo de trabalho Git ajuda a gerenciá -lo de maneira eficaz e consistente; é dividido em três segmentos: git Diretório, Árvore de trabalho, e Área de preparação.

O projeto em que você está trabalhando está em um estado não rastreado ou monitorados estado. O arquivo não rastreado é considerado um novo arquivo que não fazia parte do diretório de trabalho antes, enquanto os arquivos rastreados fazem parte dos últimos instantâneos e mais categorizados em Empenhado, Modificado, e Encenado estados.

A empenhado Estado significa que os dados de arquivos são armazenados em um banco de dados local; Sempre que você faz alterações no arquivo, ele transfere para o estado modificado. O Encenado O estado inclui arquivos modificados e arquivos recém -criados; Quando todas as modificações de um arquivo são concluídas, ele é transferido para o estado encenado.

Este artigo está demonstrando como você pode instalar e configurar o sistema Git no Ubuntu 20.04.

Depois disso, discutimos como restaurar, rebase, reverter e redefinir operações git enquanto fazia um projeto. O Restauração Git A função é usada para restaurar o conteúdo das confirmações no diretório de trabalho. Sempre que você executa um comando de restauração, ele mudará o histórico de commit e especificará os caminhos.

O Reiniciar, Ou podemos dizer que o recurso de reversão ajuda a desfazer modificações no Repositório Git e retornará o ambiente atual ao compromisso anterior.

Git reverter a operação é bastante semelhante ao Redefinição do Git comando; A única diferença é que você precisa de um novo compromisso para voltar ao compromisso específico ao executar esta operação.

E o último é o Git Rebase que é usado para mesclar ou combinar a sequência de começos no repositório. É diferente do comando de mesclagem como o “mesclar”O comando é usado para combinar a história compromete a história e manter o registro como aconteceu, enquanto“Rebase”Os comandos reescrevem ou reaplicarão a história das commits no topo de outra filial.

O artigo mostrou como você pode executar essas operações enquanto estiver usando o software Git no Linux.