[Linux] Duas histórias levam você a usar a linha de comando git

GitHub e gitee são plataformas de hospedagem de código, onde fazemos upload de código ou arquivos para gerenciar nosso código e diferentes versões de software.

São ferramentas indispensáveis ​​no desenvolvimento colaborativo multipessoal Você conhece o git?

A lógica subjacente do github e do gitee vem do git, que desempenha um papel importante nele. O seguinte é parte do meu entendimento do git e espero que possa ajudá-lo.


Conteúdo do blog:

Em seguida, explicaremos a origem e a função do git por meio de duas histórias curtas. Apresentaremos brevemente uma função básica de gerenciamento de versão do git usando o site gitee. Finalmente, apresentaremos brevemente como usar o git na linha de comando do Linux.

Este blog se concentra principalmente em entender o gerenciamento de versões e usar o git para enviar arquivos no Linux.

1. Histórias históricas

fundo

​ O pai do Linux, Linus Benedict Torvalds (doravante unificado: Torvalds), completou a versão 0.11, que é a primeira versão do kernel do Linux, em 1991. Ele queria desenvolver melhor o LInux Este sistema operacional é absolutamente impossível de confiar no próprio Torvalds Afinal, diante de milhões de linhas de código e diferentes tipos de funções (drivers, discos, sistemas de arquivos, gerenciamento, IO, etc.), o poder de uma pessoa parece insignificante.

Então Torvalds tornou o código aberto e permitiu que engenheiros e hackers de todo o mundo vissem seu valor, fazendo-os participar do desenvolvimento conjunto. Engenheiros de todo o mundo concluem seus próprios módulos nos quais são bons, então o que eles devem fazer com o código que escrevem? Muitos engenheiros enviaram o código diretamente para Torvalds para copiá-lo e colá-lo no local apropriado, mas afinal, são muitas pessoas.Se você apenas fizer isso, Torvalds passará todos os dias copiando e colando, o que obviamente não é possível.

Com relação a esse problema, como Torvalds deve resolvê-lo? Encontrar alguém para substituí-lo? Liberar seu trabalho? Obviamente, isso não é aconselhável. Como esses códigos podem ser integrados, significa que suas próprias capacidades são muito boas. É um pouco desperdício desperdiçar copiando e colando, e também aumentará o custo. Quando engenheiros de todo o mundo estão usando o amor para gerar eletricidade para o Linux de código aberto, realmente não há necessidade de aumentar essa sobrecarga. Pessoas inteligentes em todo o mundo não podem ficar perplexas com este problema. Eles acham que há necessidade de um software de gerenciamento de código, e os próprios engenheiros carregam o código para resolver este problema.

ir através

A princípio, Torvalds não pensou em criar tal software sozinho, mas em procurar o software existente desenvolvido em conjunto por várias pessoas . Felizmente, ele o encontrou (essa é a ideia do grande deus, se você encontrar problemas, vá diretamente para descobrir se Alguém resolveu o problema e ele o usou diretamente), mas infelizmente, este software é cobrado. Após a discussão de todos, ele decidiu desistir de usar este software. A declaração externa é " incompatível com o espírito de código aberto " (Penso pessoalmente: Coisas que custam dinheiro às vezes atrapalham até certo ponto sua própria promoção, afetando sua influência e velocidade de transmissão. Costumamos assistir a algo, como um vídeo ou um artigo, quando pensamos que é muito bom, vamos considerar se devemos gastar dinheiro para comprar o conteúdo depois disso, e nos sentir um pouco infelizes ao pagar por isso).

Felizmente, Torvalds finalmente encontrou a empresa de software. Seu chefe era muito generoso e os respeitava. Ele disse a ele que achava que a comunidade Linux é uma comunidade que muda o mundo e os respeita muito. Outros precisam gastar dinheiro para usar este software • Dê-lhes livre acesso à comunidade. Desta forma, a comunidade Linux utiliza este software para gerir o seu código, e tem conseguido uma boa resposta.

o nascimento de git

​ Se a história terminar aqui, não haverá git depois , e o desenvolvimento das coisas às vezes é cheio de drama. A maioria dos principais engenheiros tem um problema comum, que é a curiosidade , eles estão curiosos sobre como o software é feito e como funciona, então muitas pessoas na comunidade Linux começaram a quebrar o software. Até que um dia, um engenheiro com quase o mesmo exemplo quebrou parte do conteúdo e divulgou para o mundo anunciar seus resultados, o que irritou muito o patrão da empresa de software, que os respeitava e dava livre uso, e por sua vez perguntou Poaching seu canto, decidiu encerrar o acesso gratuito à comunidade. Desta forma, Torvalds voltou à pré-liberação da noite para o dia, e claro que não conseguiu copiar e colar o código, fica difícil passar da extravagância para a frugalidade! Então ele passou de duas a três semanas para desenvolver um software de controle de versão , e de código aberto, chamado git , que atraiu muitos engenheiros interessados ​​em controle de versão. Com desenvolvimento contínuo, formamos o que somos hoje. Veja git .

gerenciamento de versão 2.git

A função do git não se limita ao gerenciamento de versões, mas também possui gerenciamento de ramificação mais rico, reversão, rotulagem de projetos etc., o que leva ao uso da colaboração entre várias pessoas do git dentro da empresa .

  • Aqui, apenas apresentamos a função de gerenciamento de versão do git

1. Uma pequena história

Em seguida, usamos uma pequena história para apresentar brevemente o gerenciamento de versões :

Na escola, podemos enfrentar a situação em que o professor pede um relatório de experimento.Se houver um professor particularmente responsável em nossa escola que nos ensine Linux, depois de um experimento, deixe toda a turma enviar a ele um relatório de experimento relacionado.

Um dos meus colegas de quarto, Xiao A, terminou o primeiro. Ele pegou o documento eletrônico e foi direto ao professor para enviar o relatório. Depois de ler, o professor disse que há algo errado com você. para modificar. Depois de ir ao professor pela segunda vez, ele ainda disse não, ele precisa continuar a revisar. Já se passaram alguns dias e você acabou de entregar o primeiro relatório. Xiao A é simplesmente estúpido. O relatório do experimento já o mudou do que era antes, e ele não tem backup. Ele só pode voltar sozinho e se sentir desconfortável.

Eu sou uma pessoa inteligente, assisti a tudo do lado de fora e conhecia o temperamento do professor, então guardei 10.000 mentes e mantive uma cópia do relatório do experimento toda vez que o professor queria revisar e quando entreguei o relatório pela última vez, ele disse a mesma coisa para mim e me pediu para enviar o segundo relatório diretamente, encontrei o relatório no computador e enviei sem nenhum ônus.
insira a descrição da imagem aqui

No mundo da informática, sou um programador trabalhador, minha operação é o gerenciamento de versões e meu professor é chamado de gerente de produto .

Qualquer software tem bugs, e precisamos atualizá-lo, o que forma diferentes versões, geralmente usamos o git para gerenciar essas diferentes versões.

Vamos continuar nossa história. Terminei o relatório de laboratório do professor sozinho, mas os outros alunos da turma não tiveram tanta sorte. Fiquei entusiasmado e decidi ajudá-los a gerenciar seus relatórios de laboratório e deixá-los escrever todas as revisões. Todos os relatórios são enviados para mim, e eu vou gerenciá-los. Aqueles que precisam deles estão pedindo por mim. Ao gerenciar essas grandes quantidades de relatórios experimentais, eu gradualmente explorei um conjunto de métodos exclusivos para gerenciá-los melhor. À medida que minha reputação cresce gradualmente, alunos de outras faculdades também tinham relatórios de laboratório para gerenciar e eles me abordaram um após o outro.

Diante de tantos relatórios experimentais, estou muito ocupado para usar meu método para gerenciar. Nesse momento, aproveitei ao máximo as vantagens da ciência da computação. Escrevi um software baseado em rede, que é dividido em cliente e final de serviço , o servidor é implantado em seu próprio servidor de nuvem, e o cliente é baixado em seu próprio computador, substituindo meu trabalho manual. A partir daí, você não precisa me encontrar no relatório de gerenciamento, basta baixar o cliente e carregá-lo diretamente . Chamamos esta versão de 1.0 . À medida que mais e mais pessoas o usam, acho que este software tem um mercado enorme e muitas pessoas precisam usá-lo. Eu o chamei de git e o promovi para todo o país.

Após a promoção, meu software se tornou um software conhecido no país, mas todas as suas operações são baseadas em telas pretas e linhas de comando , o que é realmente desagradável. Em seguida, recruto e modifico para torná-lo um site . Após o upload, muitas operações podem ser implementadas diretamente no site, e então um novo cliente é desenvolvido, e o upload pode ser enviado neste cliente (este artigo não falará sobre esse conteúdo), o que é mais conveniente para as pessoas operarem. Chamamos isso de versão 2.0 .

Todos devem conhecer a próxima história, a versão 2.0 é GitHub e gitee com a qual estamos familiarizados . A camada inferior desses dois sites é implementada com base no git .

2. Entenda o gerenciamento de versões

Por meio do conto acima, usamos o gitee para entender melhor o gerenciamento de versões.

Usamos o gitee para gerenciar arquivos, que podem ser divididos em duas etapas:

  1. Conclua a gravação de código ou arquivos no computador local
  2. Faça o upload para o armazém correspondente através do software e o sistema gerenciará automaticamente

Cada upload será registrado, mesmo que o mesmo arquivo seja modificado, desde que seja carregado, podemos encontrar os arquivos modificados em períodos diferentes.

Combinado com o conto, só precisamos fazer alterações em um relatório de experimento todas as vezes e, ao fazer o upload, o gitee salvará automaticamente diferentes versões do mesmo arquivo carregado para nós todas as vezes.

Conforme mostrado na figura abaixo, carreguei três vezes depois de modificar um arquivo localmente, e cada arquivo carregado pode ser encontrado
insira a descrição da imagem aqui

  • O número da versão na imagem acima é gerado automaticamente após o upload, e um número de versão será gerado para cada upload

Com base neste princípio, a atualização e o gerenciamento de cada versão do software são fáceis de entender. Carregue o código do software modificado e identifique-o com um novo número de versão. Diferentes versões do código podem ser obtidas através de diferentes rótulos.

Conforme mostrado na figura abaixo , encontramos aleatoriamente um projeto de código aberto para observar
insira a descrição da imagem aqui

  • O número da versão à esquerda acima é o rótulo, o upload é definido por você mesmo, representando a versão correspondente, e o direito é gerado automaticamente ao fazer o upload.

Use este site para gerenciar nossos relatórios de experimentos. Após cada modificação, faça o upload para o site, e o professor só precisa extrair qual e enviar para ele.

Três. O uso do git

1. Criação de armazém

Primeiro, criamos um warehouse em nosso próprio gitee ou github. Eu uso o gitee da seguinte forma:
insira a descrição da imagem aqui
Após clicar no novo warehouse, a seguinte página aparecerá

insira a descrição da imagem aqui
Os seguintes armazéns são obtidos, nos quais os armazéns são de código aberto, os armazéns excluídos e os gerenciadores de configuração estão todos sob gerenciamento, que não são o conteúdo principal deste artigo, portanto, não os apresentarei brevemente aqui.

insira a descrição da imagem aqui
Criamos o warehouse, e precisamos do link do warehouse para usar o git no Linux, e clonar o warehouse para o local, conforme segue

insira a descrição da imagem aqui

Após a cópia, a operação no gitee é concluída

2. Instale o git e o clone do warehouse

Primeiro use para git --versionverificar se o git está instalado no Linux.
insira a descrição da imagem aqui
Se a exibição semelhante acima aparecer, ele está instalado. Se não estiver instalado, use o seguinte comando para instalá-lo.

sudo yum install -y git

Após o download, use o seguinte comando para clonar o warehouse

git clone 复制的仓库链接

insira a descrição da imagem aqui
Como nosso warehouse é privado, precisamos inserir o nome de usuário e a senha. Depois que o warehouse é de código aberto, não há necessidade de inseri-lo.

Após a clonagem, o warehouse pode ser exibido localmente, e a pasta na figura abaixo é o warehouse

insira a descrição da imagem aqui
Pode-se ver que os arquivos do warehouse que criamos acima estão todos neste diretório.

.gitO diretório extra é, na verdade, o depósito local, que armazena cada registro carregado em formato binário

Vejamos .gito catálogo da seguinte forma

Nota: Não altere o arquivo .git, não se preocupe com isso

3. Faça o upload do código três truques

adicionar

Primeiro encontre um arquivo e copie-o para o warehouse

insira a descrição da imagem aqui

Neste ponto, não se diz que o arquivo foi adicionado ao repositório, apenas colocado sob este arquivo.

Em seguida, use o seguinte comando para tornar o arquivo gerenciado pelo armazém e armazená-lo na área de armazenamento temporário do armazém

git add .

Após a execução do comando, você pode usar o seguinte comando para verificar se ele está armazenado na área de armazenamento temporário

git status

insira a descrição da imagem aqui
Exibe o novo arquivo seguido do nome do arquivo, indicando que este arquivo foi armazenado em

comprometer-se

Em seguida, adicionaremos todos os arquivos não adicionados no diretório atual ao warehouse local.git

Adicione o arquivo usando o seguinte comando

git commit -m "日志"

Nas aspas duplas, você precisa preencher uma visão geral do arquivo carregado, que precisa ser certificado. Quanto mais claro, melhor, cada envio será registrado e você poderá git log指令encontrar todos os registros de envio. Se você sair da empresa, o o próximo programador irá recebê-lo. Pelo seu trabalho, verifiquei seu código e descobri que não conseguia entendê-lo. Examinei as informações quando você as enviou, o que exatamente você fez e o resultado foi que não consegui entender você vai levar uma bronca, então se não escrever bem isso, vai ser chamado pelo patrão pra conversar. .

insira a descrição da imagem aqui
Ao enviar arquivos para nosso .gitarmazenamento local, um se preocupa com os problemas de armazenamento local, e há uma camada extra de proteção no passado, e a outra é facilitar o armazenamento remoto regular. Na empresa, deixe os líderes verem o andamento do o projeto na frente deles, o que é conveniente para a integração.

Se desenvolvermos sozinhos, podemos ir aqui, mas agora não nos importamos com ele, nosso objetivo é enviar os arquivos para o local e enviar para o remoto, para que os armazéns local e remoto permaneçam consistentes.

Nota: Os seguintes problemas ocorrerão no primeiro envio

insira a descrição da imagem aqui
Precisamos configurar nosso próprio e-mail e nome de usuário, para que outras pessoas possam verificar e entrar em contato conosco a tempo.

Use as duas instruções na caixa vermelha na figura acima, apenas copie e modifique as informações nas aspas duplas atrás

insira a descrição da imagem aqui

Adicionar e confirmar são as operações de armazenamento temporário de arquivos na biblioteca local, e o seguinte é enviar os arquivos da biblioteca local para a extremidade remota

Empurre

Finalmente, use o seguinte comando para push remoto

git push

Geralmente, você precisa inserir seu nome de usuário e senha ao enviar

insira a descrição da imagem aqui
A estrutura mostrada na figura acima mostra que o push foi bem-sucedido.

Você também pode encontrar os seguintes avisos ao pressionar:

insira a descrição da imagem aqui
Este aviso precisa modificar a variável global, basta executar o seguinte comando

git config --global push.default matching
git config --global push.default simple

Depois de concluir esses três truques, vamos ver se o envio é bem-sucedido no gitee

insira a descrição da imagem aqui

Resumir:

  1. git add.: Envie o conteúdo para a área de armazenamento temporário
  2. git commit -m "log": envia o conteúdo para o warehouse local
  3. git push : envia o conteúdo do warehouse local para a extremidade remota e o envia para a extremidade remota

Acho que você gosta

Origin blog.csdn.net/m0_52094687/article/details/128735115
Recomendado
Clasificación