Não sou programador por profissão, mas faço algumas codificações e já usei o github. Eu me deparei com o que considero uma situação surpreendente. Eu estou muito familiarizado com o git.
Existe um projeto em que encontrei um (pequeno) bug que estava me afetando. Passei uma tarde procurando e consertando. Bifurquei o repositório, confirme a alteração e emita uma solicitação de recebimento. Depois de ver que estava fechado como "Mesclado no ramo de desenvolvimento", concluí que tudo estava bem.
Eu estava navegando no repositório hoje, me preparando para remover minha ramificação, e não consigo encontrar onde o commit foi mesclado no repositório do mantenedor. Depois de algum tempo, percebo que foi adicionado como um commit, mas o autor não sou mais eu.
Tanto quanto posso dizer, a única maneira de fazer isso seria usar especificamente uma reformulação, alteração ou outra reescrita do histórico para remover o autor original.
Isso parece muito errado para mim. Na melhor das hipóteses, é confuso, na pior das hipóteses, o autor deste repositório está recebendo crédito pelos comprometimentos de todos e, em seguida, o histórico do colaborador original é perdido. Novamente, é um pequeno erro, não o uso no meu currículo profissional, apenas parece desonesto.
Isso é normal? Devo dizer algo sobre isso?
Edit: O sentimento geral parece ser que eu deveria ir perguntar, então eu vou fazer exatamente isso esta manhã.
Conforme o pedido abaixo. Eu verifiquei e meu código existe e foi aplicado exatamente como o escrevi (incluindo o comentário). Eu verifiquei que tanto o autor quanto o autor foram alterados. Houve uma alteração adicional também adicionada ao mesmo tempo que minhas alterações. É uma única linha, que afetaria o patch e outros códigos anteriores. Ou seja, a adição de uma linha não está relacionada ao bug que eu estava corrigindo.
Atualização Parece que a resposta foi que o autor mantém um ramo de desenvolvimento e não deseja mesclar seu ramo principal nele. Ele reescreveu meu commit para evitar uma mesclagem. Eu não estava preocupado com a ramificação original do b / c git, que é bastante poderosa para escolher, refazer e mesclar confirmações conforme necessário.
Isso é típico no github?
Devo entrar em contato com o mantenedor de um projeto para perguntar a qual filial aplicar patches?
Respostas:
Não, não deveriam, se evitáveis. É um problema que, na minha experiência, acontece com muita frequência. No entanto, acredito que tenha mais a ver com a ignorância de como usar o git corretamente do que alguém que deseja roubar crédito.
git rebase master
. Se houver conflitos, eles podem optar por corrigi-los (sem alterar o autor) ou dar a chance de corrigi-lo.Acho que o Github poderia e deveria procurar esse tipo de roubo acidental de crédito e educar os mantenedores sobre as melhores práticas, quando apropriado.
fonte
Você deixou alguns detalhes importantes aqui.
Se a maneira como você "corrigiu" o erro não era do agrado dos mantenedores, ou mesmo incorreta, pois introduziu seus próprios erros, o mantenedor pode ter que editar seu trabalho antes de cometer. Nesse caso, é compreensível alterar o autor.
Como já foi mencionado o autor é bastante diferente do committer . Como você já deve saber, foi o autor quem realmente criou o commit, enquanto o committer seria quem o aplicaria.
Você deve examinar atentamente o commit e atualizar sua pergunta com suas descobertas.
fonte
Parece que a resposta foi que o autor mantém um ramo de desenvolvimento e não deseja mesclar seu ramo principal nele. Ele reescreveu meu commit para evitar uma mesclagem.
fonte
git cherry-pick
.Para responder sua pergunta atualizada:
É difícil dizer o que é típico no github, além de dizer que normalmente cada projeto é diferente e cada um tem seu próprio fluxo de trabalho preferido. Geralmente, a melhor abordagem antes de enviar uma solicitação de recebimento é perguntar qual é o fluxo de trabalho ou tentar ver se você pode saber com base em pedidos de recebimento fechados anteriores.
Minha experiência pessoal foi se você não solicitar, geralmente eles fecham a solicitação de recebimento sem comentários (pior caso) ou, na melhor das hipóteses, deixam um comentário explicando qual é o procedimento que solicita que você atualize sua solicitação de solicitação. Eu direi que parece estranho a maneira como o mantenedor no seu caso lidou com isso, mas pode ter sido apenas o caminho de menor resistência para eles. Duvido que tenha sido intencionalmente destinado a roubar crédito.
Eu sugiro que você solicite ao mantenedor que adicione documentação explicando como eles gostariam de receber solicitações pull e contra que ramo, para evitar a confusão e falta de crédito no futuro. Desejo que mais projetos tenham fornecido essa documentação, pois acho que isso tornaria as pessoas mais inclinadas a participar do projeto.
fonte