git: junção automática vs junção normal (não-conflitante)?
estou em master
.
realização:
git merge feature_branch
eis alguns resultados indicativos:
Auto-merging src/myproject/web/api/submodule/__init__.py
Merge made by the 'recursive' strategy.
src/myproject/application/cli.py | 4 +
src/myproject/foo/__init__.py | 1167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/myproject/foo/auditors.py | 256 +++++++++++++++++++++++++++++++
src/myproject/foo/handlers.py | 247 ++++++++++++++++++++++++++++++
src/myproject/web/api/submodule/__init__.py | 16 +-
por que apenas para o primeiro ficheiro a acção é "auto-fusão" é mencionada?
(o que não é o caso dos outros ficheiros)
O que tem de tão especial? 1
1 answers
Se um ficheiro Só for modificado num dos dois ramos envolvidos na junção, então não será mencionado. Não é necessária nenhuma junção, automática ou manual para este ficheiro.
Se o ficheiro foi modificado em ambos os ramos, então primeiro será tentada uma junção automática. Isto geralmente acontece nos dois casos seguintes:
- as alterações são para linhas completamente separadas, com linhas inalteradas entre uma linha alterada num ramo e uma linha alterada no outro. ramo.
- as mudanças dão exatamente o mesmo resultado final, por exemplo, o mesmo commit aparece em ambos os ramos.
Se não for este o caso, então a junção automática irá falhar, e o Git irá recorrer a pedir uma junção manual.
2
Author: jwg, 2018-05-22 13:47:04