Por que as pessoas bifurcam repositórios no GitHub? [fechadas]

110

Percebi que muitas contas do GitHub só têm repositórios que são bifurcados de outras contas. Além disso, as pessoas que fazem isso geralmente não fazem contribuições aos repositórios bifurcados.

Já ouvi falar de pessoas colecionando selos e conchas do mar, mas por que alguém iria querer coletar repositórios? Pessoalmente, eu apenas bifurcaria um repositório se quisesse fazer algumas alterações.

Aadit M Shah
fonte
84
eles querem garantir que eles tenham um backup estável deve o proprietário do projeto excluir seus repos e desaparecem
aberração catraca
9
Simplesmente porque é assim que as solicitações de pull trabalhar no GitHub (e porque as pessoas estão um pouco fork-feliz e depois esquecê-la, às vezes, ou abandonar a idéia do projeto e se esqueça de se livrar do garfo)
haylem
2
apenas um comentário, como eu entendo que eles usam como um "backup" do código, mas esquecem (ou não sabem) que atualiza o repositório não afeta os "garfos", quando deveriam estar fazendo o fork direito (para backup) e "Star" o repositório para saber quando executar uma "re-bifurcação"; em outras palavras, eles acham que "bifurcação" é quase a mesma coisa que "Star" e não sabem que mantém um código desatualizado.
Guilherme Nascimento
1
Porque eles ouviram que ter um Github é suficiente para serem contratados em uma startup quente.
Gaius
1
Aqui está posto sobre o dano do não-razão bifurcação zbowling.github.io/blog/2011/11/25/github
gavenkoa

Respostas:

69

Em nossa linha de trabalho, tendemos a procurar razões técnicas, mas, na minha opinião, a principal razão não é técnica. Se você consultar a Ajuda do GitHub ou outros tutoriais do GitHub, a criação de um repositório é uma das principais etapas de como "executar" o GitHub.

Quando as pessoas estão aprendendo e avaliando o GitHub, praticamente todos os tutoriais sugerem que eles forquem um repositório como parte desse processo de aprendizado. Como o objetivo principal do GitHub é contribuir, muitas pessoas que trabalham nos tutoriais padrão não percebem que, se você quer apenas um clone somente leitura, não precisa fazer um fork primeiro.

Karl Bielefeldt
fonte
42
Na linha de razões não técnicas: cliquei no botão 'bifurcação' várias vezes na esperança de ver quem bifurcou o repositório, apenas para descobrir que o bifurquei. Opa! Não tenho certeza se outros fizeram o mesmo.
Gdw2
53
@gdw: Fazendo com que você exclame: "Oh, garfo!"
Ben Jackson
1
Lembro-me de quando aprendi sobre o git e o Github, fiz algumas modificações apenas porque os guias e tutoriais pareciam propô-lo como a maneira de obter sua própria cópia do código no seu computador.
RMAC
Usamos o GitLab no trabalho, então eu sei bem a diferença entre clone e fork. Também sou da opinião de que você não precisa bifurcar-se, se não quiser emitir uma solicitação pull (mesclar para GitLab).
cst1992
3
@ Jessé, tudo bem, mas geralmente desnecessário nesse caso. Uma empresa pode fazer isso pelo código de que depende, para garantir que o original não desapareça repentinamente. Se tudo o que você quer fazer é criar a partir da fonte, um clone é mais simples.
Karl Bielefeldt
101

Como você mencionou na sua pergunta, as pessoas bifurcam repositórios quando desejam alterar o código, porque você não tem acesso de gravação ao repositório original (a menos que tenha sido adicionado como colaborador pelo proprietário do repositório).

No repositório bifurcado, eles têm acesso de gravação e podem enviar alterações. Eles podem até contribuir de volta para o repositório original usando solicitações pull .

Eu acho que existem várias razões pelas quais as pessoas bifurcam repositórios, mas não os alteram:

  • eles podem bifurcar um repositório que seja legal, simplesmente bifurcar (porque é fácil (apenas um clique)) e querer fazer uma alteração mais tarde (e provavelmente esquecê-lo / não ter tempo para fazê-lo)
  • eles bifurcam um repositório para fazer uma alteração e descobrem que a alteração é desnecessária e esquecem de excluir o próprio repositório
  • eles podem bifurcar um repositório porque um dos projetos depende de outro repositório (talvez por meio de sub-módulos) e desejam controle total sobre o repositório usado como dependência (os proprietários do repositório original podem decidir mudar do github para o código do Google etc. )
  • eles podem simplesmente esquecer de empurrar os commits
MarcDefiant
fonte
5
Quando você não está usando o Github, segue a rota da velha escola e cria uma cópia clonada local do projeto para poder modificá-lo. A bifurcação no github fornece acesso a solicitações pull que são preferidas por muitos projetos. Se você estiver em outro projeto, acabará criando patches e enviando-os para serem revisados.
Rudolf Olah
É um processo simples de uma etapa para configurar uma ramificação de rastreamento remoto. Qualquer um que tenha tentado contribuir com um repositório git fora do GitHub sabe como pode ser entediante. Além disso, se o autor original ficar com AFK, você poderá seguir o gráfico de desenvolvimento para encontrar os garfos que ainda estão ativamente desenvolvidos. Felizmente, isso impedirá que o GitHub degenere em um terreno baldio de projetos mortos da mesma forma que o SourceForge fez.
Evan Plaice
E se você bifurcar um projeto, mas não fizer alterações. Isso seria considerado ilegal?
Jesse
@Jesse Todos os repositórios públicos no GitHub devem ter uma licença de código-fonte aberto (que são os Termos de serviço) e, portanto, não tem nenhum problema. Especialmente quando você não faz alterações.
MarcDefiant
28

Uma razão possível: eles possuem código em execução que depende desses projetos e seu processo de compilação envolve extrair as dependências do github. Ter o garfo os protege contra mudanças quebradas. Para projetos que não marcam versões, essa é a maneira mais fácil de conseguir isso.

Michael Borgwardt
fonte
3
Eles podem corrigir para confirmar o número ou a versão publicada da versão de lançamento de um aplicativo.
Roman M. Koss
26

O ponto principal do Github é "codificação social" .

Pessoalmente, garfoi repositórios quando:

  • Eu quero fazer uma mudança.
  • Eu acho que o projeto é interessante e pode querer usá-lo no futuro, mas não há maneira mais fácil de salvá-lo para mais tarde no dispositivo que estou usando atualmente.
  • Quero usar parte ou todo o código desse repositório como ponto de partida para o meu próprio projeto.

Agora já ouvi falar de pessoas colecionando selos e conchas do mar, mas por que alguém iria querer coletar repositórios?

Por que não?

Não há nada (em que eu possa pensar) que possa dar errado nos repositórios de bifurcação por prazer pessoal. Sinceramente, mantenho uma pasta de projetos interessantes que vejo no Github e em outros lugares simplesmente para fins de inspiração, e em parte porque sou um nerd. Entendo que não preciso bifurcar o projeto para ler o código, mas talvez eu queira editá-lo no futuro.

Agora comece a bifurcar-se.

Dinâmico
fonte
9
+1 para "Por que não?" seção.
Llepwryd
Meus 2 centavos adicionais no "Por que não?" seção: Meu hábito é sempre fazer "git push" depois de terminar o trabalho em um recurso; ele tem uma sensação satisfatória do QED para mim (que não recebo ao escrever o nome do controle remoto e da filial). Portanto, sempre que houver uma chance menor de que eu queira fazer alterações no repositório, prefiro bifurcá-lo, em vez de ter que alterar posteriormente o repositório "de origem" padrão.
yoniLavi
1
Eu acho que o "por que não?" seção descreve como "Star" funciona ...
TWiStErRob
2
Por que não dar uma estrela para salvá-la para visualização posterior?
cara
2
Quando um projeto é interessante, eu usaria uma estrela. Eu concordo com o resto.
Roman M. Koss
1

Eu bifurco muitos repositórios que talvez eu queira usar o código, ou se é um projeto em que estou interessado. Quando eu quiser voltar e dar uma olhada no código mais tarde, é mais fácil encontrar se ele está listado em meu repositórios. Eu não preciso pesquisar no google, nem me atrapalhar tentando lembrar qual era exatamente o nome ou pensando "onde eu vi aquele repo sobre foo de novo?" Se estiver entre meus repos, é mais fácil lembrar dessas coisas.

ChrisDR
fonte
Observe que você pode obter o mesmo estrelando o repositório - não é necessário se esforçar para isso.
valiano