DEV Community

Cover image for Deixando suas contribuições "verde"
Daniel Rocha
Daniel Rocha

Posted on • Edited on

Deixando suas contribuições "verde"

Alt Text

Se você abriu esse post com o intuito de obter dicas sobre como ficar mais produtivo, então acho que você pode perder seu tempo lendo esse artigo, mas caso esteja curioso como deixar o seu github "verdinho" sem fazer nada, aqui é o seu lugar.😂

OK, mas como faço isso?

Eu fiz um script em shell script (que tive que aprender um pouco no processo) que gera um repositório com commits entre datas que o usuário escolher.

😂 Lazy

O script gera um repositório e o preenche com commits entre datas passadas por argumento
Alt Text

Porquê?

Mais um dia se passava e eu estava ouvindo alguns podcasts BR de desenvolvimento, e teve um episódio que falava sobre como os blocos "verde" no perfil de usuários do Github estava sendo usado como uma certificação que o desenvolvedor produz algo (não estava parado fazendo nada), um dos integrantes do podcast informou que esse meio de filtro de contratação é meio furada e deu a ideia que podia ser feito um script que preenchesse o quadro verdinho do perfil do github.

-- Eu fazendo "nada", pensei (...), 
-- UHHHUMMMMMMMM!, porquê não?
Enter fullscreen mode Exit fullscreen mode

E assim surgiu esse script, meio incompleto, que gera um falso trabalho entre um período determinado pelo usuário.

Modo de uso

Só funciona em um interpretador shell script

Dependências

  • git: é um sistema de controle de versão distribuído de código
  • date : comando de data
  • touch: comando para criação de arquivos
  • cut: manipulador de string

Acho que é normal o date, touch e cut já esteja pré-instalado em distro linux, mas fica a observação

Obtendo o repositório

Clonando o repositório



git clone git@github.com:dannRocha/lazy.git


Enter fullscreen mode Exit fullscreen mode

Ou você pode copia a raw do script, baixar compactado, você escolhe o meio de obter o script

Gerando repositório "falso"

Antes de iniciar o script dê permissão de execução



chmod +x lazy.sh


Enter fullscreen mode Exit fullscreen mode

Agora vamos criar nosso repositório. Na pasta do script, execute o arquivo lazy.sh o com os seguintes parâmetros.



./lazy.sh "date from" "date to" "repository name"


Enter fullscreen mode Exit fullscreen mode

Exemplo:



./lazy.sh "09 jun 2019" "07 jun 2020" "lazy-work"   


Enter fullscreen mode Exit fullscreen mode

Observe que as datas tem o seguinte padrão "day month year". O dia tem que ser um numero e um dia existente, o mês tem que ser passado por extenso ou com abreviação em inglês, e o ano pode ser passado com apenas os dois últimos dígitos ou completo. O nome do repositório é opcional, caso não seja passado um nome, o repositório é nomeado como "green". Se tiver dúvidas o script possui um help

Caso seja passado uma data errada, o script não funcionará corretamente, pois não possui um verificador de parâmetros.

Se você for muito doido, pode deixar o script global no sistema.



./lazy --install or ./lazy -i


Enter fullscreen mode Exit fullscreen mode

Após finalizar a criação do repositório, envie o projeto para o Github e veja um milagre acontecer.

-- "kkkkkkkkkkkkkkkkkkkk"
Enter fullscreen mode Exit fullscreen mode
Antes

Alt Text

Depois

Alt Text

Passando a opção -s, o algoritmo simula os dias que o DEV não codou e faz uns commits a mais em um dia.



./lazy.sh -s "09 jun 2019" "07 jun 2020" "lazy-work"   


Enter fullscreen mode Exit fullscreen mode

Alt Text

Espere o Github processar os commits

Desfazendo a bagunça

Para remover essa bagunça toda, basta excluir o repositório. Acesse o repositório no Github, clique em Settings, vá até o final da página e na seção Danger Zone você pode remover o repositório e tudo volta ao normal.

Top comments (2)

Collapse
 
rogeriotaques profile image
Rogerio Taques

Daniel, tudo bem? 👋

Achei maneiro o seu post, obrigado por compartilhar! 💪 Gostaria de dar uma dica ... no texto onde vc fala sobre o formato de entrada da data, há um erro na palavra “mês”! O correto é month e não mouth (boca). 🙃

Um abraço.

Collapse
 
danroxha profile image
Daniel Rocha

Vlw