Git da instalação ao uso básico (tutorial babá 2023)

instalação Git

Instalar

1. Primeiro, acesse o site oficial para baixar este software e prepare-se para instalá-lo neste computador

git-scm.com/

 2. Baixe este software para a máquina de acordo com seu próprio sistema de computador

O sistema Windows pode baixar diretamente o arquivo .exe, o sistema macOS usa a linha de comando Homebrew para instalar e o terminal insere git --version para confirmar a instalação 

imagem-20230612100943906.png

3. O caminho de instalação padrão pode ser selecionado por padrão. Se você quiser alterar o caminho, certifique-se de usar o caminho em inglês

4. Para o sistema Windows, verifique se a instalação foi bem-sucedida: Clique com o botão direito do mouse em qualquer pasta, verifique se há uma opção Git Base Here, se houver, foi bem-sucedida 

imagem-20230612101818017.png


introduzir

Três áreas do Git:

  • espaço de trabalho: a área onde o trabalho é feito
  • Área de armazenamento temporário: uma área para armazenamento temporário
  • Local git warehouse: área de armazenamento final

Na pasta é refletido da seguinte forma:

  • Workspace: o diretório que você vê no seu computador
  • Área de armazenamento temporário: no índice da pasta .git (registros binários)
  • Repositório: refere-se a toda a pasta .git (também considerado um depósito local)

Isso é refletido no código da seguinte forma:

imagem-20230612154411204-1687173588607.png

Git usa

Documentação oficial: link do tutorial

Tutorial para iniciantes: link do tutorial

Configuração do Git 

Depois de instalar o Git, a primeira coisa a fazer é configurar seu nome de usuário e endereço de e-mail. Porque todo commit do Git usará essas informações

O formato do comando é o seguinte:  Chinês depende da situação

comando git config fixed, defina a configuração relacionada ao git

--global Configuração global: Uma vez configurada, toda a máquina entrará em vigor ao usar o git

git config --global user.name 你的用户名
git config --global user.email 你的邮箱地址

O efeito de executar o comando é o seguinte:

imagem-20230612130038686.png

 Após a configuração, você pode executar o seguinte comando para verificar se foi bem-sucedido

git config --list
#如果信息太多,可以输入 q 退出

O efeito de executar o comando é o seguinte: 

imagem-20230612130350943.png

Se o conteúdo acima aparecer, o registro foi bem-sucedido

Se você quiser modificá-lo posteriormente, basta executar o comando novamente

Marque no lado direito do arquivo no vscode 

Geralmente, ao abrir uma pasta contendo um git warehouse, haverá essas marcas 

imagem-20220625155941259.png

右侧没有标记的时候为“未修改” 或 此文件/文件夹, 被git忽略不跟踪变化
M为“已修改”
A为“已添加”
D为“已删除”
R为“已重命名”
C为“已复制”
U为“已更新但为融合”

Comandos básicos do Git

Inicializar um repositório Git vazio 

Criamos uma nova pasta/pasta existente não é um git warehouse, porque não há pasta .git, portanto não é gerenciada pelo git. Na nova pasta/pasta existente, você pode executar o seguinte comando para obter a pasta .git e deixar o git começar a se preparar para o gerenciamento

# Inicialize o git warehouse, produto: pasta .git (gerenciada "dentro" da pasta) git init

Por exemplo, insira o comando git init em uma nova pasta para inicializar um repositório git vazio 

imagem-20230612141325305.png

Depois de inicializar com sucesso o git warehouse vazio, na pasta do projeto, exiba os arquivos ocultos e você poderá visualizar a pasta .git. Para sistemas Windows, marque a opção Hidden Items em View. Para o sistema macOS, use a tecla de atalho Command + Shift + . para alternar a exibição do arquivo oculto 

Gravar atualização no repositório Git

Sempre que você concluir o objetivo de um estágio e quiser documentá-lo, faça o commit no repositório

Operação principal: desenvolvimento do espaço de trabalho ---> adicionar o arquivo modificado à área de armazenamento temporário ---> gravar os arquivos na área de armazenamento temporário no repositório

  1. Para alterar o espaço de trabalho e colocá-lo na área de armazenamento temporário, o seguinte comando

    bash

    copiar código

    # (了解) 将index.html 添加到暂存区 git add index.html # 将css目录下一切添加到暂存区 git add css
  2. O seguinte comando pode colocar todos os arquivos alterados na área de armazenamento temporário de uma só vez

    Nota: Há um espaço após adicionar, o que .significa que todas as alterações no diretório atual são armazenadas temporariamente

    bash

    copiar código

    git add .
  3. Envie o conteúdo da área de armazenamento temporário para a biblioteca de versões, o comando é o seguinte

    bash

    copiar código

    git commit -m '提交的内容说明'
  4. Gráfico:

    Equivale a arquivar uma vez, gerando um registro de commit no repositório (e gerando um número de versão)

    Este arquivo não nos atrasará para continuar escrevendo projetos no espaço de trabalho (pasta do projeto)

imagem-20230612154411204-1687173588607.png

Git log e exibição de status

  1. Para visualizar todos os registros de log enviados, o comando é o seguinte

    bash

    copiar código

    git log

    O efeito de executar o comando é o seguinte:

imagem-20230612212059053.png

  1. Quando tivermos mais e mais logs, podemos simplificar a visualização, podemos inserir o seguinte comando

    --oneline exibe informações breves em uma linha

    bash

    copiar código

    git log --oneline

    O efeito de executar o comando é o seguinte:

imagem-20230612212137406.png

  1. Se você alterou muito código e esqueceu quais foram alterados, você pode executar o seguinte comando para visualizar as alterações no git warehouse e poderá ver apenas o status de todos os arquivos alterados não confirmados

    bash

    copiar código

    git status

    O efeito de executar o comando é o seguinte:

imagem-20230612212456778.png

  1. Armazenamento temporário e enviar novamente para gerar um registro de versão

    bash

    copiar código

    git add . git commit -m '新建登录页面_和样式'
  2. O diagrama é o seguinte:

imagem-20230612154411204.png

Reversão da versão do Git

Máquina do tempo, volte ao passado~

  1. A sintaxe do comando de fallback é a seguinte, o chinês depende da situação

    bash

    copiar código

    git reset --hard 版本号
  2. Ver número da versão

    O número da versão é gerado aleatoriamente a cada vez, o nosso é definitivamente diferente

    bash

    copiar código

    git log --oneline

imagem-20230612212700778.png

  1. Tente reverter 477321bpara este registro

    bash

    copiar código

    git reset --hard 477321b
  2. Observe o espaço de trabalho, a reversão foi bem-sucedida

    imagem-20230612212808682.png

  3. Se você quiser voltar ao registro do último envio, descobrirá que o git log não pode ver os registros futuros, mas o problema não é grande

    Insira o comando git reflog para visualizar todos os registros de operação do git, incluindo seus registros de redefinição

    bash

    copiar código

    git reflog

    O efeito de executar o comando é o seguinte:

imagem-20230612212857923.png

Comando estendido:

  • git bash (terminal) limpa a tela:clear
  • git bash (terminal) inicia uma nova página:Ctrl + L

Git ignora arquivos

Às vezes, não queremos que o git rastreie e gerencie certos arquivos/pastas. Neste cenário, precisamos criar um arquivo de ignorar chamado .gitignore (nome fixo) ao lado da pasta .git e escrever as regras de ignorar. O nome do arquivo aqui é .gitignore, que não é um sufixo.

A estrutura de pastas do projeto é a seguinte:

imagem-20230612213354387.png

gitignore

copiar código

# .gitignore内容: password.txt 其余用法: # 忽略文件夹 css # 忽略文件夹下的某个文件 css/index.js # 忽略文件夹下某类文件 css/*.js

Crie um novo password.txt no diretório raiz para ver quais alterações o git rastreou

bash

copiar código

git status

O efeito de executar o comando é o seguinte:

imagem-20230612214049685.png

Verificou-se que apenas .gitignore foi adicionado e aqueles que estavam em conformidade com as regras foram ignorados

ramificação git

natureza do ramo

  • Uma ramificação é na verdade uma marca de ponteiro chamada HEAD .Toda vez que o código é enviado, o ponteiro HEAD se moverá para trás uma vez para garantir que o que ele aponta (e no espaço de trabalho) seja o último envio. Quando pressionamos o comando: git reset --hard a3bcab2, o ponteiro do HEAD se moverá e, após o movimento do HEAD, afetará o código no espaço de trabalho

criar ramo

  1. O comando para criar uma ramificação é o seguinte

    bash

    copiar código

    # 创建分支 git branch 分支名
  2. Observação: as ramificações não serão alternadas automaticamente após a criação, podemos executar o comando para visualizar todas as ramificações no repositório .git atual

    O comando para visualizar todas as ramificações da biblioteca da versão atual é o seguinte

    bash

    copiar código

    # 查看当前版本库所有分支 git branch # 绿色带*代表, 你现在所处的分支

    O efeito de executar o comando é o seguinte:

imagem-20230612215435954.png

  1. Alternar manualmente para a ramificação

    Nota: Crie e mude para este ramo pela primeira vez, aqui você descobrirá que todos os códigos no ramo mestre (e todos os registros de envio do nó atual) foram copiados, com base nisso, você pode desenvolver mais tarde

    bash

    copiar código

    # 切换分支命令 git checkout 分支名

    O efeito de executar o comando é o seguinte:

imagem-20230612215712754.png

  1. O diagrama é o seguinte:

imagem-20230612215806700.png

Processo de desenvolvimento da filial

  1. Agora podemos escrever sob o ramo reg atual, registrar o código lógico da página, por exemplo, criar um novo arquivo reg.html e escrever algo casualmente

  2. Em seguida, armazene e envie temporariamente uma vez, e o registro enviado desta vez aparecerá aqui, conforme mostrado na figura

imagem-20220626005643763.png

  1. Portanto, no futuro, ao desenvolver sob o ramo reg atual, um registro de versão será gerado para cada envio dentro do intervalo reg, mas não afetará outros ramos

fusão de ramificação

  1. Podemos mesclar o código escrito na ramificação na ramificação principal/outras ramificações

  2. Primeiro, mude para a ramificação de destino na qual deseja mesclar, aqui está a ramificação principal principal como exemplo

    bash

    copiar código

    # 切换分支 git checkout master
  3. O diagrama é o seguinte

imagem-20230612220823875.png

  1. Sintaxe do comando de mesclagem

    bash

    copiar código

    # 把目标分支名下的所有记录, 合并到当前分支下 git merge 目标分支名
  2. Aqui executamos o comando

    bash

    copiar código

    git merge reg
  3. Diagrama de efeitos após a execução

imagem-20220626011937230.png

exclusão de ramificação

  1. Se a função de registro for desenvolvida e o código for mesclado na ramificação master, não precisamos da ramificação reg

  2. O comando é o seguinte

    bash

    copiar código

    git branch -d 分支名
  3. Se o código da sua filial atual não tiver sido mesclado com outras filiais, um erro será relatado

Conflitos ao mesclar branches

Nas duas ramificações, o mesmo arquivo foi modificado e enviado. Ao mesclar, ocorrerão conflitos

  1. Simule um conflito simples aqui

    • Na ramificação master, modifique uma linha de código em login.html e conclua um envio temporário

      imagem-20230612221800522.png

    • Alterne para a ramificação reg, modifique a linha de código correspondente em login.html e conclua um envio temporário

      imagem-20230612222009473.png

  2. Em seguida, volte para a ramificação master, use o comando merge para mesclar o código e as alterações na ramificação reg

    Não surpreendentemente, haverá conflitos

imagem-20230612222117265.png

  1. Após um conflito, a interface do VSCode

    imagem-20230612222156560.png

    Neste ponto temos que fazer uma escolha: adotar as mudanças atuais, adotar as mudanças que estão chegando, manter todas as

  2. Depois de selecionar o método de retenção, você precisa salvar temporariamente e enviar novamente

    imagem-20230612222444912.png

    Neste ponto, o estado de conflito é encerrado e ele retorna ao estado normal

  3. Imprimir registros de log após mesclagens conflitantes

    imagem-20230612222705106.png

Resumo: quando encontramos um conflito na mesclagem, devemos resolvê-lo manualmente, armazená-lo temporariamente e enviá-lo uma vez

Suplemento - Explicação detalhada do fluxograma da ramificação do Git

  • O ponteiro do cabeçalho HEAD, que aponta para o registro de envio, será substituído na área de trabalho e na área de armazenamento temporário, cada envio gerará um novo registro, mestre e HEAD serão movidos para trás

imagem-20230612224348269.png

  • Otimista sobre a ramificação e os registros atuais e criar uma nova ramificação com base neste nó (incluindo todos os registros de envio anteriores), git branch reguma marca de ponteiro será criada para identificar o nome do registro apontando para

imagem-20230612224959233.png

  • git checkout regO switch é apontado pelo ponteiro HEAD (switch branch)

imagem-20230612225147670.png

  • Depois que a página de registro é criada, git add .ela é adicionada à área de armazenamento temporário e git commit -mum registro de envio é gerado

imagem-20230612225547703.png

  • Depois que o estilo da página de registro é recém-criado, o envio é armazenado temporariamente e um registro de envio é gerado

imagem-20230613003559070.png

  • Mesclar ramificação (registro de confirmação)

    • Objetivo: você deseja mesclar A em B. Por exemplo: Mesclar reg no master
    • git checkout B, depois de mudar para o branch de destino
    • git merge A, mescla os registros da ramificação A na ramificação B

    Primeiro mude para o branch principal git checkout master

imagem-20230613004008281.png

  • Mesclar reg branch git merge reg

imagem-20230613004234355.png

  • Xiao Ming - modificou o arquivo index.html, na ramificação reg, e o salvou e enviou temporariamente, resultando em um registro

imagem-20230613004635286.png

  • Xiao Ming - modificou o arquivo index.html (o mesmo arquivo), na ramificação master, salvou temporariamente o envio e gerou um registro

imagem-20230613010644386.png

  • Mescle o registro e altere o mesmo arquivo para relatar um erro, que precisa ser resolvido

imagem-20230613010950109.png

  • Após resolver manualmente os conflitos, um novo registro de confirmação será gerado

imagem-20230613011347885.png

  • Exclua a ramificação reg e todo o processo terminará

imagem-20230613011445775.png

Git repositório remoto

introduzir

Um repositório remoto é um repositório do seu projeto hospedado na Internet ou outra rede que armazena todos os registros e arquivos do nosso repositório. Oferecer suporte à colaboração entre várias pessoas e gerenciar armazéns remotos em conjunto, para que, quando nosso computador quebrar, também possamos clonar um código enviado anteriormente do armazém remoto para continuar o desenvolvimento localmente

imagem-20230615093344985.png

Os principais armazéns remotos incluem o GitHub (centro gay), a maior comunidade de encontros ponto a ponto do mundo, e gitee (nuvem de código), cujo servidor está na China. Como o servidor GitHub está no exterior, é necessário navegar na Internet cientificamente ou usar outras ferramentas de aceleração. Para facilitar, aqui está o Code Cloud como exemplo para referência de iniciantes. O processo do GitHub é semelhante ao gitee

registro

Depois de se registrar e fazer login no site gitee.com, adicione o endereço de e-mail principal como o endereço de e-mail definido em seu git warehouse local. Observe que deve ser o mesmo, caso contrário, não poderá ser enviado corretamente. Se você esquecer o endereço de e-mail definido localmente, pode abrir o console e entrar para git config --listverificar o endereço de e-mail novamente. Claro, você também pode usar git config --global user.email 你的邮箱地址o

Na interface de configuração de e-mail, não marque a caixa que não divulga meu endereço de e-mail, caso contrário não conseguirá enviar normalmente

imagem-20230615094323926.png

novo armazém

Você pode optar por criar um projeto de armazém remoto (múltiplos), a interface de criação é a seguinte

imagem-20230615095044748.png

Após a conclusão da verificação, selecione Create.Após a criação, você obterá um link para o endereço do warehouse remoto, que geralmente termina em .git.

Os endereços se enquadram em dois dos protocolos de transporte mais comumente usados:

Selecione o caminho SSH, a interface é a seguinte

imagem-20230615095628604.png

configuração ssh

Podemos fazer login sem senha depois de configurar o SSH nesta máquina uma vez

  • composição e função da chave ssh

    texto

    copiar código

    ssh key 的作用:实现本地仓库和 gitee平台之间免登录的加密数据传输 ssh key 由两部分组成,分别是: id_rsa(私钥文件,存放于客户端的电脑中即可) id_rsa.pub(公钥文件,需要配置到 gitee平台 中) 私钥加密的信息,只能通过公钥解密。公钥加密的信息,只能通过私钥解密。安全性高!

Crie e use etapas:

  • Primeiro gere uma chave secreta na máquina local (ela também pode ser regenerada e reconfigurada posteriormente), abra um terminal aleatoriamente e digite o seguinte comando:

    bash

    copiar código

    ssh-keygen -t rsa -C "你注册账号的邮箱"
  • Pressione Enter três vezes seguidas para gerar dois arquivos, id_rsa e id_rsa.pub, no diretório C:\Users\username folder.ssh

  • Use vscode para abrir o arquivo id_rsa.pub e copie o conteúdo de texto dentro

  • Cole a configuração em Code Cloud -> Settings -> ssh public key

  • Se for um mac, você pode entrar no seguinte tutorial para visualizar: mac obtém a chave pública

Inicializar um repositório vazio

Primeiro configure o endereço de um armazém remoto para o armazém local e estabeleça um link entre os armazéns

Como cada operação push precisa trazer o endereço do armazém remoto, isso é muito problemático. Podemos definir um alias para o armazém

bash

copiar código

# 给远程仓库设置一个别名 git remote add 仓库别名 仓库地址 git remote add origin [email protected]:(username)/repository.git # 删除 origin 这个别名 git remote remove origin # 使用 -u 记录 push 到远端分支的默认值,将来直接 git push 即可 git push -u 仓库别名 分支名

imagem-20230615101817727.png

O seguinte é um exemplo de operação real:

  • Basta criar uma nova pasta de projeto, inicializar o git e, em seguida, preencher algum conteúdo no arquivo do projeto, aqui eu adiciono um novo .gitignorearquivo e, em seguida, salve-o temporariamente e envie-o para o repositório git local

    imagem-20230615103357225.png

  • Digite o seguinte comando:

    bash

    copiar código

    # 注意:这里的existing_git_repo是你的项目根路径 cd existing_git_repo #如果你是在项目文件夹开启的终端,忽略此行 # 添加远程仓库关联,仓库别名origin,可以随意更改,后接ssh地址 # 此处的ssh是自动生成的,可以去gitee空仓库的代码页直接复制即可 git remote add origin [email protected]:li-houyi/test-factory.git # 第一次推送到远程时需要指定具体的分支,因为远程仓库并没有这个分支 # 使用 -u 记录 push 到远端分支的默认值,将来直接 git push 即可 git push -u origin "master"
  • Esta página é considerada bem-sucedida:

    imagem-20230615104040319.png

    Nota: O depósito local enviado não deve estar vazio e o armazenamento temporário local foi enviado, caso contrário, um erro será relatado! Isso também é fácil de entender: se você enviar um projeto vazio para um depósito vazio, isso não deveria causar um erro?

  • Depois que o push for bem-sucedido, entre novamente na página gitee warehouse para verificar se o push está correto

    imagem-20230615105531979.png

  • Depois que o armazém vazio for criado com sucesso, você pode abrir o armazém na página de gerenciamento, é claro, você não pode definir o código aberto (privado padrão)

nativo sem projeto - clone

Se você não tiver um projeto localmente e quiser obter o código do warehouse de outra pessoa ou do seu próprio warehouse, precisará clonar o projeto

  • O comando é o seguinte:

    bash

    copiar código

    git clone 目标远程仓库的git地址
  • O processo é como se segue:

imagem-20230615110423501.png

  • Se o projeto tiver apenas uma ramificação, o código acima foi clonado após a execução (o git clone puxa a ramificação mestre por padrão), mas no desenvolvimento real, não há apenas uma ramificação, portanto, precisamos executar as seguintes etapas:

    • Crie uma ramificação localmente, o nome da ramificação é o mesmo que o nome da ramificação remota, verifique o nome da ramificação remota usandogit branch -r
    bash

    copiar código

    git checkout -b 对应远程分支名
    • Puxe a ramificação remota ( não puxe diretamente o código da ramificação correspondente na ramificação principal, mude para a ramificação recém-criada )
    bash

    copiar código

    # 每次拉取都需要指定远程仓库名和分支名 git pull 远程仓库名 分支名
    • Nota: As 2 linhas de comandos acima podem ser combinadas em uma linha
    bash

    copiar código

    git checkout -b 分支名 origin/分支名
    • Extensão: Defina a ramificação puxada por git pull por padrão
    bash

    copiar código

    git branch --set-upstream-to=origin/远程分支名 本地分支名

Desenvolvimento colaborativo

  • A escreve código, armazena, envia e, em seguida, envia para o servidor remoto
  • B escreve o código, salva-o temporariamente e o envia. Você pode primeiro extrair o registro recém-enviado pela outra parte para a mesclagem local e, em seguida, enviá-lo para o controle remoto após a mesclagem estar correta.
  • Um pode git pull para puxar a última versão do código remoto para a mesclagem local

A ou B aqui pode ir primeiro, continue puxando o código atualizado, apenas use o comando git pull

Revisão do processo de armazenamento remoto do Git

  • Passo 1:

imagem-20230616072225869.png

  • Passo 2:

imagem-20230616072307518.png

  • Etapa 3:

imagem-20230616072523621.png

  • Passo 4:

imagem-20230616072547086.png

Visão geral dos comandos comuns do Git

imagem-20230620223216096.png

Autor: Yaonan.
Os direitos autorais pertencem ao autor. Para reimpressão comercial, por favor, entre em contato com o autor para autorização, para reimpressão não comercial, por favor, indique a fonte.

Acho que você gosta

Origin blog.csdn.net/YN2000609/article/details/131919082
Recomendado
Clasificación