Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Formas de trabalho em equipe

O curso está muito legal e estou precisando ver se realmente estou entendendo alguns pontos que acho que são essenciais para o uso do Git.

Por enquanto vimos três formas de desenvolvimento de trabalhos: trabalho sozinho, trabalho em equipe com cada membro mexendo no mesmo arquivo mas em momentos diferentes e trabalho em equipe com dois membros (ou mais) mexendo no mesmo arquivo ao mesmo tempo mas em partes diferentes.

No primeiro caso utilizaremos o Git mais como um gerenciados de versões para que a gente tenha acesso às várias versões do nosso próprio arquivo. Como não tem mais ninguém conosco não é necessário fazer um repositório remoto e vamos utilizar basicamente os comando git add, git commit, git status e git log.

No segundo caso, precisamos. além do nosso próprio repositório, de um repositório remoto que servirá como nosso servidor. A cada commit que fizermos precisamos mandar o arquivo mais atual para o servidor. Neste caso além dos comando anteriores também precisaremos utilizar bastante o git push e o git pull.

E no caso de trabalho em equipe ao mesmo tempo em pontos diferentes do arquivo teremos que criar ramificações da master para que o arquivo seja modificado apenas na ramificação que estamos utilizando. Então cada membro trabalhará em uma ramificação diferente.

Primeiramente gostaria de saber se até aqui meu pensamento está correto.

Caso esteja correto o que eu pensei tenho outra dúvida: na aula o professor faz as modificações no arquivo index.html que está localizado na pasta do Vinícius, modificando de branches nesta pasta mesmo. Eu não entendo o porquê de não fazer essas branches no arquivo index.html que está no servidor principalmente porque a Ana não teria acesso ao arquivo do Vinícius.

Não sei se minha dúvida está clara, mas basicamente estou entendendo que o arquivo comum entre os membros da equipe é o do servidor e não o que está no repositório local de cada membro, então criar ramificações no arquivo do repositório local não tem muito sentido para mim.

2 respostas
solução!

Olá, Julia. Tudo bem?

Que bom que o curso está te agradando :)

Sobre quando estamos trabalhando sozinhos, o pensamento está parcialmente correto. Apesar de não ser necessário usar um repositório remoto, talvez seja desejável para que você tenha um "backup" do seu trabalho. Já me aconteceu de ter projetos somente na minha máquina e ter problemas transferindo de um canto pra outro, arquivos corrompidos etc.

Já sobre o trabalho em equipe, na minha opinião, não faz sentido essa divisão entre "alterando o mesmo arquivo em momentos diferentes" e "alterando o mesmo arquivo no mesmo momento em partes diferentes". Não há nenhuma garantia que isso irá acontecer. Se você está trabalhando em equipe, muito pode acontecer. Duas pessoas alterando o mesmo arquivo na mesma parte e no mesmo momento; pessoas alterando arquivos diferentes que tenham relação entre si etc.

A criação de branches é válida nas duas situações, e até mesmo quando se está sozinho, para garantir que suas alterações numa parte da aplicação não interfiram no todo. Você pode ter a aplicação funcionando perfeitamente, mas quer criar uma nova funcionalidade, então seria bom que você pudesse garantir que a versão que está funcionando não tenha problemas. Ou então você quer refatorar o projeto e, enquanto não estiver pronto, deixar a versão antiga do mesmo jeito.

Inicialmente, pensei em abordar tópico a tópico, mas acho que as respostas acabam se misturando xD.

Espero ter ajudado. Se não tiver sanado sua dúvida, é só dizer.

Legal Vitor, faz super sentido, obrigada! No começo é um pouco abstrato entender que tudo pode (e provavelmente deve) ser usado em todas as situações. Acho q com o tempo usando e quebrando a cara a gente vai vendo a importância de fazer ou não tal coisa.

Obrigada novamente pela resposta!