Boa noite, poderiam me corrigir se estiver errado?
Minha analogia sobre o git é:
área local --------------------> área de transferência ------------------------------> Banco de dados do github
git add = add o arquivo especificado
git add . = adiciona todos os arquivos do projeto.
ambos comandos enviam para área transferência.
git status = mostra atual situação dos arquivos do meu projeto(alterado, não adicionado, adicionado, enviado...)
git log = mostra o log de commits realizados pelo colaborador ou equipe de desenvolvimento
Agora é que surge minha dúvida:
O git add adiciona o arquivo, o commit - m "text" sinaliza alterações feitas, especificando o autor, co author, o git push envia as alterações para o servidor git. Seria isso mesmo?
outra duvida seria o termo branch, fork e o pull novamente. Eis meu raciocínio
Branch : ----------------------------------------------------------------- (seria uma linha temporal do projeto)
\
\
fork: (seria um ramo dessa linha)
A branch possui o projeto, usamos então o fork para criar uma copia desse projeto, para preservar a integridade do projeto original. Realizamos então as modificações necessárias nesse ramo.
Então mandamos novamente o projeto alterado para a branch principal usando o git push. Seria esta a lógica?
E por último, a branch principal sempre vai manter todas as versões do projeto ou ela apaga algum arquivo automaticamente sem interação do usuário depois de um certo tempo? Li no tutorial do github um comando para procurar por versões estáveis no projeto, quando se sobe uma versão com bugs por exemplo, e necessitamos corrigi-la procurando pela versão mais estável na branch.
Agradeço por qualquer esclarecimento. Muito obrigado desde já!