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;
}
```