Você está na página 1de 5

ARQUVIS BOAS PRÁTICAS:

readme.txt: descrição do projeto e informações de contato por exemplo, no github


será a descrição do projeto
---------
.gitignore: lista de arquivos a serem ignorados.
https://www.toptal.com/developers/gitignore >: lista arquivos temporarios de cada
linguagem que não são necessários no versionamento do código, basta marcar a
linguagem e buscar, basta copiar o conteudo e colar no arquivo .gitignore.
dentro do texto gerado:
# Created by = link do código original criado
# Edit at = link do site para aplicação / remoção de novos filtros

Boa prática, é apos colar o codigo gerado no .gitignore, no final de tudo, criar o
comentário Pesonal para adicionar novos itens desejados, exemplo:
###Personal
.todo
.env
informações.txt
---------
.todo: cria lista de tarefas que pode ser marcado como "check"
Necessário extenção vscode Todo+
No vscode dentro do arquivo .todo
#alt+enter cria task
#alt+d marca como check
'Alt+Enter' // cria task
'Alt+D' // marca como check
'Alt+C' // marca como cancelado
'Alt+S' // marca como iniciado
'Cmd/Ctrl+Shift+A' // Arquivando quando lista está grande - Triggers `Todo:
Archive`
modulo de git:
✔ criar repositório git @done(22-09-14 02:51)
☐ fazer primeiro commit

-------
--> Observação: Todas os comittes e mudanças podem ser observadas no vscode atravez
da guia "Controle do código fonte"
->"Controle do código fonte" -> controle de codigo fonte -> mensagem do commit ->
confirmar
->"Controle do código fonte" -> commits -> arquivo: é possivel ver como era o
código antes de depois da alteração.
->"Controle do código fonte" -> file history -> arquivo: é possivel ver histórico
de commits

-> Extenção VSCODE para acompanhar graficamente tudo ocorrido no git: 'git graph'

===================================================================================
======================================================================

CONFIGURE A FERRAMENTA:
$ git config --global user.name "[nome]"
-> Configura o nome que você quer ligado as suas transações decommit
---------
$ git config --global user.email "[endereco-de-email]"
-> Configura o email que você quer ligado as suas transações de commit
---------
$ git config --global color.ui auto
-> Configura o email que você quer ligado as suas transações de commit
===================================================================================
======================================================================

CRIE REPOSITÓRIOS:
Inicie um novo repositório ou obtenha de uma URL existente
$ git init [nome-do-projeto]
-> Cria um novo repositório local com um nome específico

===================================================================================
======================================================================

FAÇA MUDANÇAS:
$ git status
-> Lista todos os arquivos novos ou modificados para serem commitados
---------
git add [arquivo] OU '.' para tudo
->Faz o snapshot de um arquivo na preparação para versionamento
---------
git add -i
->Abre opções de arquivos para fazerz o snapshot de um arquivo na preparação para
versionamento, 'q' confirma a ação.
---------
$ git commit -m "[mensagem descritiva]"
-> Grava o snapshot permanentemente do arquivo no histórico de versão
---------
$ git reset HEAD [arquivo] OU '.' para tudo
-> Remove arquivos do 'stage', essas arquivos são os que são andiconados com o git
add, antes de realizar o commit é possivel remover algum se necessário.
===================================================================================
======================================================================

REVISE HISTÓRICO:
$ git log
-> Lista o histórico de versões para o branch atual

===================================================================================
======================================================================

MUDANÇAS EM GRUPO:
Nomeie uma série de commits e combine os esforços completos

$ git branch
->Lista todos os branches locais no repositório atual
$ git branch -a
->Lista todos os branches locais e remotas no repositório atual
---------
$ git branch [nome-do-branch]
->Cria um novo branch
---------
$ git checkout [nome-do-branch]
->Muda para o branch específico e atualiza o diretório de trabalho
---------
$ git checkout -b features1
-> -b cria uma branch baseada na que eu estou e já muda para ela.
---------
$ git merge [branch]
Combina o histórico do branch específico com o branch atual
---------
$ git branch -d [nome-do-branch]
->Exclui o branch específico
---------
git rebase [nome-do-branch]
Combina o histórico do branch específico com o branch atual de forma a fundir

===================================================================================
======================================================================
-------------- GIT HUB --------------
Subindo um projeto do computador local ao git hub:

$ git git remote add origin https://github.com/MikeWilliamm/testehow.git


-> 'origin' é usado para se referenciar o servidor na nuvem(github), mas é possivel
definir outro nome qualquer.
---------
$ git branch -M main
-> Renomeando minha branch principal para main, branch master virara branch main
---------
$ git push -u origin main
-> Fazendo um push da minha main para a minha origin(nuvem/github)

===================================================================================
======================================================================
Fazendo clone de um projeto já existente no git hub:

$ git clone [url]


$ git clone https://github.com/MikeWilliamm/testehow.git
>https://github.com/nome_usuario/nome_do_projeto.git
-> Faz um clone(download) de um repositório/projeto e seu histórico de versão
inteiro que já existe no git hub, esse clone já é conectado ao git hub, ao fazer um
git push nele, será feito no repositório originalmente clonado.

===================================================================================
======================================================================
SINCRONIZE MUDANÇAS:

Mudanças feitas por outros usuarios, exemplo seu colega de trabalho fez uma mudança
no código e fez o git push ao repositório do projeto que voces estão trabalhando,
assim sendo é necessário sincronizar o meu projeto com o projeto que está no
repositório que possue a alteração feita pelo meu colega de trabalho:
$ git pull
Baixa o histórico e incorpora as mudanças

===================================================================================
======================================================================
Subindo outra branch e todo seu histório de alterações ao git hub:
$ git push origin [nome_branch]
===================================================================================
======================================================================
Colocar regras de proteção no git gub:

Dentro do repositório ir em Settings(Definições) > Branch > add rule(adicionar


regra) > escrever nome da branch e salvar, caso for varios nomes e a mesma regra,
criar branchs com nomes parecidos ex: Dev01, Dev02 e Dev03, ai para aplicar a regra
no git hub basta adicionar a regra como Dev*, assim irá para todos os usuários.

Adicionar pessoa ao repositório:


Dentro do repositório ir em Settings(Definições) > Collaborators

Fazendo pull request, ou seja um usuário que utiliza outra branch e commita uma
mudança com o git push, sobe ao repositório as mudanças em sua branch, no
repositório aparecera um aviso "nome_branch had recent pushes less than a minute
ago", ao clicar em "Compare & pull request" é possivel analisar qual é a mudança,
antes de confirmar o pull resquest, na guia 'Write' é muito importante escrever o
que estámos fazendo de alteração linha a linha, também na lateral esquerda é
preciso preencher algumas informações, estando tudo certo e revisado, basta
confirmar em "Create pull request", após isso alguma verificações serão feitas pelo
git hub, por fim basta fazer um merge ou rebase para a branch main, será possivel
deletar a branch do usuário no final para ficar mais organizado o repositório.
===================================================================================
======================================================================

GIT TAG, são denominadoires de verções do código, é possivel acessar o projeto em


cada verção atravez do git hub com as tags criadas:

Criação de TAG:
$ git tag v0.1
-> cria uma tag do projeto em seu estado atual, ela é importante para marcar uma
grande mudança no código, OBS: é necessário subir a tag com o git pull para o git
hub
---------
$ git push origin main --tags
-> Sobe todas as tags ao repositório do git hub
---------
$ git tag ou git tag -l
-> Lista todas as tag existentes

===================================================================================
======================================================================
CONFLITOS DE ALINHAMENTO:

Suponhando que dois usuários fizeram alteração em um mesmo código e em uma mesma
linha de código, cada um comitou sua alteração na sua branch, mas ao fazer um merge
para unir as alterações, será retornado um erro, já que existe alterações diferente
em um mesmo projeto e na mesma linha.
Erro retornado:
$ git merge conflito
Auto-merging readme.md
CONFLICT (content): Merge conflict in readme.md
Automatic merge failed; fix conflicts and then commit the result.

Após o erro em fazer o merge entre branchs, o arquivo com erro ficara laranja no
vscode com um icone de esclamaçao, ao abrir o arquivo terá algumas opções de
alteração:
Accept Current Change > Aceitara as aterações em verde, essas mudanças são as
do meu projeto
Accept Incoming Chage > Aceitara as alterações em roxo/azul, essas mudanças
são as alterações feitas por outra pessoa e commitado em outra branch
Accept Both Changes > Aceitara o código das duas branchs, colocando as suas
mudanças na parte de cima e as de outra branch na parte de baixo, provavelmente o
código irá quebrar.
Compare Change > É possivel analisar de forma divisivel em duas telas quais
são as alterações de cada branch
Opção Alternativa > Apagar caracters especiais adicionadas pelo git e
analisar o código manualmente, analisar e deixar de uma forma funcional I

IMPORTANTE: É necessário ter muita atenção em conflitos, verificar corretamente


qual é a ultima versão e a forma correta de deixar o código

Apos ajustar o arquivo com conflito, Na branch master/main, basta fazer um git
status, será exibido uma mensagem dizendo que os conflito foram corrigidos, depois
um git add. para colocalo em stage e depois commitar. Após todo o processo, basta
subir para o git hub com o comando git push.

Você também pode gostar