Especificação de uso do Git e comandos comuns do Git

Especificação de uso do Git e comandos comuns do Git

especificação de filial

ramo mestre

  • A ramificação HEAD do master e o commit histórico estão em um estado estável e liberável.
  • Cada commit do branch master precisa ser marcado, como v1.0, v1.1, v1.2, v2.0, etc.
  • Ele só pode ser mesclado da ramificação de teste e da ramificação de hotfix.
    A mesclagem de hotfixes deve ser verificada por meio de revisão e teste de código.
    Ao mesclar do teste, tanto o status de qualidade aprovado pelo teste quanto o status funcional aprovado pelo produto devem ser alcançados.
  • Somente o líder da equipe e o responsável pela filial master têm permissão para enviar o código

ramo de desenvolvimento

  • O branch de desenvolvimento principal, clonado com base no branch master, teoricamente falando, o código do branch dev é consistente com o branch master

ramo de recurso

  • Quando o escopo das alterações de código é grande, uma ramificação de recursos pode ser cortada da ramificação de desenvolvimento para desenvolvimento.
    Para refatoração de código, corte uma ramificação feature/feature_security.
  • Vários ramos de recursos podem existir ao mesmo tempo
  • Novas alterações não podem ser mescladas da ramificação de desenvolvimento em iterações da ramificação de recurso.
  • Se apenas uma pessoa for responsável pelo desenvolvimento do recurso correspondente e não houver necessidade de desenvolvimento colaborativo, ele deverá existir apenas no armazém local e não ser enviado para o armazém remoto.
  • Teoricamente falando, o branch de recursos é puxado pelo líder da equipe antes do desenvolvimento dos requisitos. A convenção de nomenclatura do branch é: feature/feature_function name. Por exemplo, o branch de desenvolvimento da transformação de segurança 2.0 é: feature/feature_security2

branch de teste (somente o líder da equipe mescla o código)

  • Ramo de teste, depois que o ramo de recurso é mesclado no dev, no estágio de teste, as correções de bugs podem ser modificadas diretamente neste ramo ou mescladas diretamente do ramo de recurso para o ramo de teste
  • O branch de teste pode ser mesclado pelo líder da equipe durante o teste
  • Durante a revisão do código, você pode comparar o branch de teste com o branch master.

ramo de hotfix

  • Ramo de patch, baseado no clone do branch master, usado principalmente para reparo de BUG na versão online
  • Depois que a correção do bug online for concluída e iniciada, o conteúdo da correção do hotfix precisa ser mesclado no branch de teste atual
  • puxado pelo líder da equipe

processo de envio do git

insira a descrição da imagem aqui

Mesclagem de código (rebase unificada para todos os usos)

modo de comando

git pull --rebase
或者
git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分支

Maneira da IDEIA

insira a descrição da imagem aqui

Especificação de uso de tags

A versão principal da versão sob demanda é baseada em: V1.0.0 e V1.1.0 serão adicionadas posteriormente

Versão secundária de correção de bug online: V1.0.0 adicionará V1.0.1 posteriormente

# 查看当前所有tag
git tag --list
git tag -a V1.0.0 -m "xxxxx需求上线"
git push --tags

Comandos comuns de uso do git

Crie um branch e envie-o para a extremidade remota

git checkout -b feature/feature_security dev  # 基于dev分支创建
git push origin feature/feature_security  

Você também pode enviar o branch diretamente com base no branch dev

git push origin dev:feature/feature_security  # 这样会创建分支并且将分支push到远端分支

armazenamento temporário git stash

git stashGeralmente há dois cenários usados:

  • Muitas pessoas modificam o mesmo branch. Depois de modificá-lo localmente, descobri que o branch remoto foi modificado. No momento, é impossível extrair.

    git stash #先将本地代码暂存至缓存区域
    git pull --rebase #再更新代码至本地
    git pop   #再将暂存区域代码重新加载到本地
    
  • Alterou acidentalmente outros códigos de filial. Por exemplo, originalmente feature/feature01desenvolvido em uma ramificação, mudei acidentalmente para master uma ramificação e mastermodifiquei o código na ramificação, neste momento quero mudar o código para feature/feature01a ramificação

    git stash #先将本地代码暂存至缓存区域
    git checkout feature/feature01 #再将分支切换到feature/feature01分支
    git pull --rebase # 非必须步骤,更新远程代码到本地
    git pop  #再将暂存区域代码重新加载到本地
    

enviar código

Sugestão: Toda vez que você enviar o código, se for o mesmo código de função, envie-o para o local ao enviar, não envie para o terminal remoto todas as vezes, é a mesma função que é mesclada em um envio, menos envios inválidos , como o mesmo O arquivo foi modificado várias vezes, enviado várias vezes e um comentário foi modificado e enviado várias vezes.

git add .    # 添加提交内容 ‘.’表示当前目录所有,如果需要单独添加某一个文件:git add xxx.txt
git commit -m 'feature(bin): add first commit'  # 提交代码到本地仓库
git push origin master   # 将代码推送到远程仓库

Ver todas as referências do repositório remoto

git remote 

Veja a lista de filiais remotas

git branch -a

mesclar um commit

git cherry-pick 'commit-id'

Visualize o status dos arquivos no espaço de trabalho, na área de preparação e no warehouse local

git status 

Modifique os comentários enviados (não enviados para o registro remoto)

git commit --amend

Pressione i para entrar no modo de edição (igual ao uso do vim). ta

Pressione ESC para sair do modo de edição

wq: sair salvar

q!: Sair sem salvar

Salve e saia e verifique se o conteúdo enviado foi modificadogit log

Modificar o comentário de um determinado envio (não enviado para o registro remoto)

Primeiro de tudo, você precisa encontrar o commit que precisa ser modificado e git log encontrar o ID do commit do envio. Apenas dois ou mais envios podem ser usados. Se houver apenas um envio, use- git commit --amendo

git log 
git rebase -i 28b197a00473ea1b46fab13263c294cce0d7401c

Depois de modificar o comentário, você precisa pickalterá-lo para reword.

Modifique os comentários enviados (envie para o registro remoto)

Você também pode usar o método acima

Após a modificação aqui, ele precisa ser forçado a enviar para o branch de versão.

git push origin master -fEntão você precisa prestar atenção aqui, não faça isso em circunstâncias normais

Atualize o código localmente e mescle-o

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

local e mesclar

git fetch    # 将远端代码更新到本地仓库
git rebase origin/master # 将代码合并到当前分
git rebase origin/feature:test # 将代码合并到测试分支

git pull --rebase # 将代码更新到本地仓库并且合并到当前分支

Acho que você gosta

Origin blog.csdn.net/wagnteng/article/details/131809129
Recomendado
Clasificación