Git Flow Flashcards

1
Q

Quais são as branches padrões para um bom fluxo no git?

A
main -> prod
develop
feature
release
hotfix
support
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como configurar o git flow?

A

git init
git flow init
> Definir os padrões do projeto. O padrão é uma boa ideia

git flow feature start
> desenvolve a feature, add, commit e para finalizar a feature:
git flow feature finish
> ele irá realizar o merge com a develop, mergear com a develop e remover a branch feature

Agora é a hora de criar a release:
git flow release start 0.1.0

git flow release finish 0.1.0
> Irá realizar o merge no main e criar uma tag (em tese, leve para produção)

Imagine que deu um problema em produção, e é necessário realizar uma correção.
git checkout main
git flow hotfix start contact
> Criou nova branch hotfix/contact
> Realize as alterações, add commit

git flow hotfix finish contact

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como garantir a segurança dos commits no Git?

A

Trabalhando com assinaturas nos commits através do GPG (GNU Privacy Guard).

É necessário ter o gpg instalado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Como configurar assinatura GPG?

A

Primeiro é necessário ter o gpg instalado. O wsl2 já possui.

Listar as chaves:
gpg –list-secret-key –keyid-form LONG

Criar a chave
gpg --full-generate-key
> 1 - rsa
> 4096
> 1y (1 ano)
> nome: Paulo Mulotto
> email: paulo.mulotto@gmail.com
> inserir uma senha

Os dados são guardados na pasta home/.gnup
Ex: /home/mulotto/.gnupg/

listando novamente as chaves, é possível ver a chave criada

gpg –armor –export

Copiar a chave gerada e inserir no github.
Github > settgins > SSH and GPG keys
New GPG key

É necessário dizer para o git a chave que ele vai utilizar. então:
git config –global user.signingKey
export GPG_TTY=$(tty)
Adicionar no .bash para não ter que executar todas as vezes:
export GPG_TTY=$(tty)

Agora precisamos assinar por padrão o commit:
> do repositório atual:
git config commit.gpgSign true
> para todos os repositórios:
git config --global commit.gpgSign true
> para também assinar as tags:
git config --global tag.gpgSign true

Se não quiser configurar como global, utilize a flag -S para utilizar a assinatura
git commit -S -m “index html”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como ver se o commit está assinado?

A

git log –show-signature -1
Irá mostrar que foi assinado na chave

No git, é possível ver no commit que está com o status “Verifed”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como proteger as branches?

A

No repositório, ir sem settings > branches.

Defina como branch padrão como a develop (os pull requests começam a ser abertos automaticamente para ela) .

Proteger a branch main

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é Pull Request?

A

Pull request é equivalente ao merge request do gitlab.

É uma solicitação de envio de código para uma branch destino

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como criar um template para os Pull Request?

A

Adicione um arquivo na pasta .github/PULL_REQUEST_TEMPLATE.md
com o template desejado.

Você pode obter um template de exemplo aqui:
https://embeddedartistry.com/blog/2017/08/04/a-github-pull-request-template-for-your-projects/

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que são CODEOWNERS?

A

São donos do repositório, pastas ou do arquivos.

É necessário criar um arquivo em .github/CODEOWNERS.

*.js @paulomulotto
.github/ @paulomulotto
*.go @grupo-x

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual o plugin do visual studio que ajuda nos pull request?

A

GitHub Pull Requests and Issues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly