Resolução de conflitos ou prevenção de conflitos no GIT?

Questões: Como várias pessoas pretendem trabalhar com o GIT? É update-commit usual como no SVN ou é mesclar o padrão? Ao mesclar, quem deve aparecer como o autor do commit de mesclagem?

Muito deinformação de fundo: Estou escrevendo um artigo sobre LaTeX com outro cara e estamos usando o GIT para o controle de versão.

Desde o início, decidimos que ambos trabalharíamos no ramo principal, porque somos de qualquer maneira apenas duas pessoas.

Eu fiz um número de commits. Então ele fez um commit sobre uma versão antiga e fundiu a minha última versão e a mais recente (depois do commit). Isso é mais fácil de ver com uma foto:

Para mim, é estranho fazer a mesclagem dessa maneira, se não estou enganado, ele deveria ter puxado primeiro e depois comprometido, a fusão deve ser feita entre dois ramos diferentes.

Mais estranho de tudo, meus commits não são deletados a qualquer momento, mas o conteúdo aparece como novo no último commit e ele aparece como o autor. Isso parece um bug, mas para dizer a verdade eu não entendo o que está acontecendo aqui.

Então as perguntas são:

Isso é um erro?

Deveríamos estar usando ramos para trabalhar separadamente? Eu poderia estar ignorando seus commits se ele não os empurrar para o servidor de qualquer maneira.

Ele usou o sistema corretamente ou deveria ter feito um pull antes de confirmar como no SVN (update -> commit)?

Por último, fiz um branch, um commit e um merge (que ainda não estão na imagem), e provavelmente a mesma coisa acontecerá novamente porque agora o master está atualizado e ele provavelmente irá ignorar essas atualizações, commit, em seguida, mesclar como o autor.

Isso não parece certo para mim, mas eu não sei se está certo ou não.

Na minha humilde opinião: merge deve ser feito localmente, antes de enviar as atualizações para o repositório compartilhado, como em uma atualização de consolidação.

questionAnswers(1)

yourAnswerToTheQuestion