git clone url - clonar a branch para o pc
git checkout nome_branch - entrar numa branch já existente.
git checkout -b name_branch - criar e entrar na branch.
git fetch - sincroniza branchs remotas criadas.
git branch - listagem das branchs do projeto no pc.
git pull origin name_branch - puxa os dados da branch
git push origin name_branch - envia os dados para a branch remota.
git add . - add todos os arquivos com alteração.
git add name_file - add arquivos especificos
git log - para ver historico de commits.
git reset - funciona tanto para o commit quanto para o add
git reset --hard HEAD~n - n diz quantos commits ele irá voltar.
git push origin name_branch --force - será necessária a flah force para o comando do resert hard
git stash - salvar um commit “para depois”. ex: precisa trocar de branch para resolver algo urgente, porém não terminou oq estava fazendo.
git stash apply - para retornar o stash como arquivo para ser commitado
git rm --cache git ls-files -i -X .gitignore - esse comando irá excluir arquivos que foram comitados errado e após o erro foram adicionados no .gitignore. ex: criou a branch e esqueceu de colocar a vendor do projeto no gitignore e acabou comitando tudo. Add ele no gitignore de push e rode o comando.
git commit --allow-empty -m "trigger ci" - lança o commit vazio maroto.
docker-compose up -d - executa os containers em segundo plano.
docker-compose down - derruba os containers.
docker-compose restart - para e retornar os containers.
docker-compose ps - caso esteja na pasta do projeto, esse comando irá listar apenas os containers do docker-compose.yml atual.
docker network ls - lista as redes
docker network rm name_network - remove rede
docker container ls/ps - lista todos os container da maquina
docker container stop name_container - para o container
docker container rm name_container - remove o container (lembrando que para remover o container deve estar parado)
Os comando ls e rm funcionam no geral igual para todos os contextos : volumes, images, container, networks e etc.
docker-compose exec -T name_container mysqldump -h name_container -u root -proot name_databese name_table > name_file.sql - gera um dump de tabela especifica.
docker exec -it container_mysql mysql -u root -proot $@ - com esse comando abrirá o mysql para digitar os comandos, pode também ser adicionado em um arquivo.sh para facilitar a execução ou nos alias do sistema operacional.
kubectx contexto - ex: qa, prod, staging etc. É sempre bom toda vez que for utilizar definir o contexto para não acabar fazendo coisas em ambiente errado.
mas como vou saber o namespace?
kubectl get namespaces - lista os namespaces.
kubectl config set-context --current --namespace=nome_do_projeto/serviço - uma alternativa para não precisar usar sempre o --namespace é setar o namespace atual.
kubectl get pods —namespace=nome_do_projeto/serviço ou kubectl get pods -n service/alias_service- vai definir qual projeto/serviço os comandos serão executados.
kubectl get pods -o wide - ver ql nó/IP os pods está rodando.
kubectl logs nomedopod - para ver o que tinha dentro do log até aquele momento.
kubectl logs -f nomedopod - para acompanhar em tempo real os logs.
kubectl logs nomedopod --previous -para caso precise ver os logs antigos de pods que já finalizaram ou estão com falha por exemplo.
kubectl logs --selector app=api - preciso verificar todas as execucoes dos pods de api, mas nao quero entrar em um por um. é como se fosse um kubectl logs api-*
kubectl delete pods nomedopod -restartar um comando
kubectl exec --stdin --tty nome_pod -- /bin/bash - executar comandos dentro do pod.
kubectl exec --stdin --tty nome_pod -- env - ver as envs que estão sendo lidas no pod.
bloco de código que valida erros no json, deu um parse e deu ruim, joga isso que vai saber o problema.
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
```