Qual é a diferença entre uma solicitação de recebimento e uma solicitação de mesclagem.
No Github, é uma solicitação de recebimento e no GitLab, por exemplo, é uma solicitação de mesclagem ... Existe alguma diferença entre os dois?
De gitlab "pedido merge" recurso é equivalente a do GitHub "pull request" recurso. Ambos são meios de extrair alterações de outra ramificação ou bifurcação para sua ramificação e mesclar as alterações com o código existente. São ferramentas úteis para revisão de código e gerenciamento de alterações.
Um artigo do GitLab discute as diferenças na nomeação do recurso:
Solicitações de mesclagem ou recebimento são criadas em um aplicativo de gerenciamento git e solicitam que uma pessoa designada mescle duas ramificações. Ferramentas como GitHub e Bitbucket escolhem a solicitação de extração de nome, pois a primeira ação manual seria extrair a ramificação do recurso. Ferramentas como GitLab e Gitorious escolhem a solicitação de mesclagem de nomes, pois essa é a ação final solicitada ao responsável. Neste artigo, vamos nos referir a eles como solicitações de mesclagem.
Uma "solicitação de mesclagem" não deve ser confundida com o git merge
comando Nem uma "solicitação de recebimento" deve ser confundida com o git pull
comando. Ambos os git
comandos são usados nos bastidores em solicitações pull e solicitações de mesclagem, mas uma solicitação de mesclagem / recepção se refere a um tópico muito mais amplo do que apenas esses dois comandos.
Eles são o mesmo recurso
fonte
No meu ponto de vista, eles significam a mesma atividade, mas de perspectivas diferentes:
Pense nisso, Alice faz alguns commit no repositório A, que foi bifurcado no repositório B. de Bob
Quando Alice quer "mesclar" suas alterações em B, ela realmente quer que Bob "retire" essas alterações de A.
Portanto, do ponto de vista de Alice, é uma "solicitação de mesclagem", enquanto Bob a vê como uma "solicitação de extração".
fonte
Há uma diferença sutil em termos de gerenciamento de conflitos. Em caso de conflito, uma solicitação de recebimento no Github resultará em uma confirmação de mesclagem na ramificação de destino . No Gitlab, quando um conflito é encontrado, as modificações feitas estão em uma consolidação de mesclagem na ramificação de origem .
Consulte https://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflicts.html
fonte
O GitLab 12.1 (julho de 2019) apresenta uma diferença:
" Mesclar solicitações para problemas confidenciais "
Consulte " Problemas confidenciais " do problema 58583 .
Um recurso semelhante existe no GitHub, mas envolve a criação de uma bifurcação privada especial, chamada " aviso de segurança do mantenedor ".
fonte
Como mencionado nas respostas anteriores, ambos têm quase o mesmo propósito. Pessoalmente, gosto do git rebase e da solicitação de mesclagem (como no gitlab). Isso reduz a carga do revisor / mantenedor, certificando-se de que, ao adicionar a solicitação de mesclagem, o ramo do recurso inclua todas as confirmações mais recentes feitas no ramo principal após a criação do ramo do recurso. Aqui está um artigo muito útil que explica a rebase em detalhes: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
fonte