O último dia da semana de trabalho estava terminando ...

O último dia da semana de trabalho terminou. Fiz um café na cozinha do escritório, imaginando como poderíamos reduzir a fila do pool de solicitações, que cresceu amplamente após a introdução do guia de revisão . Parece que regras simples causaram uma longa correspondência nos comentários para o conjunto de solicitações entre membros da equipe de revisão e os desenvolvedores da estrutura.

imagem

Nada prenunciou. Estava ficando escuro.

De repente, um bate-papo de trabalho fervilhava de mensagens:
- Por que minha solicitação de recebimento foi removida?
- E meus pedidos de puxão bateram!
- E meu!

Após apenas alguns minutos de investimento, descobrimos que isso aconteceu porque alguém excluiu o ramo de trabalho do Bootstrap, onde mais de 40 pessoas entraram clandestinamente por mais de três meses. Mais uma vez, para poder compreender toda a extensão do problema, quarenta pessoas passaram o código por mais de três meses.

imagem

Os colegas imediatamente começaram a se empolgar com as idéias de que todos nós temos cópias locais desse ramo, e vamos criar esse ramo do zero.

Pela minha própria experiência, eu sei que decisões precipitadas e improvisação não levam a nada de bom, então pedi a todos que não tomassem nenhuma atitude e literalmente "tirem as mãos do teclado".

imagem

Portanto, a disposição é sexta-feira à noite, um escritório quase vazio, um ramo perdido com uma enorme base de código. Se você não resolver esse problema aqui e agora, existe a chance de a situação piorar se outros desenvolvedores que não conhecem a situação atual se conectarem ao trabalho no fim de semana (todos nós lemos o bate-papo de trabalho com atenção, certo? ).

Perguntei educadamente no bate-papo que excluiu o ramo Bootstrap, e um jovem desenvolvedor, que foi incluído recentemente no trabalho, admitiu que ele fez isso por engano. "Desculpa".

imagem

Pego um especialista que apareceu com sucesso pelo braço e corremos para um jovem desenvolvedor que neste momento está passando por uma crise existencial e cujo local de trabalho, por uma sorte, está no mesmo escritório que nós.

É claro que restauramos o ramo - um pouco de mágica do git, e tudo deu certo. Você não pode dizer mais de 20 solicitações pull que desapareceram nas entranhas do GitHub. Desagradável, mas não fatal.
Hora de respirar, descobrir o que aconteceu e tirar algumas conclusões.

imagem

A principal questão é por quê? A resposta, em geral, é trivial - por acidente. Algo estava errado com o código que foi comprometido com seu próprio ramo de trabalho - nada criminoso, era apenas um código feio e, mesmo se você reverter o commit, ele ainda permanece na história. Portanto, o desenvolvedor decidiu demolir todo o seu ramo de trabalho e recriá-lo. Do princípio. E o ramo Bootstrap ficou sob uma mão quente. Sexta-feira. Tarde. Misklik, sim.

imagem

O GitHub permite que você cancele a operação de exclusão, mas apenas até a página ser atualizada e essa chance não ter sido usada.

Esta situação poderia ter sido evitada? Sim você pode. Por padrão, qualquer pessoa com acesso de gravação ao seu repositório pode excluir qualquer ramificação. No entanto, o GitHub permite criar uma regra de proteção de ramificação para uma ou mais ramificações.

imagem

Onde é importante verificar se a caixa de seleção correspondente não está marcada.

imagem

Isso não foi feito para o ramo de inicialização e nos alcançou.

No resíduo seco:

  1. Eles salvaram o ramo.
  2. Agora, em qualquer filial em que mais de uma pessoa contribua, instalamos a regra de proteção. O que eu recomendo não esquecer de fazer tudo.
  3. Suporte ao pacote BootStrap no JDI Light, nós finalmente implementamos e implementamos. Mas o que é e por quê - isso é outra história ...

All Articles