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

Exercicio do primeiro git init com index.html

Queria saber se entendi direito , poderiam confirmar ? 1) Cada get init define um repositório local que depois vai servir de referencia para enviar ao GitHub ? 2) E para cada projeto novo abro uma pasta local e dou get init ? 3) A estrutura local vai ser replicada no GitHub respeitando pastas e subpastas ? 4) A pasta onde já estou trabalhando com o código , poder ser a referencia para o repositório local e se afirmativo existe algum risco de perda de arquivos por erro de comando digitado pelo usuário novato ? 5) Se tiver uma estrutura de pastas como GitProj/Proj1/Proj2/ ... dou get init em cada sub pasta ? Pois teoricamente são repositórios diferentes para cada projeto ?

2 respostas
solução!

Olá Chia Fo, tudo bem? Espero que sim

Peço desculpa pela demora em lhe trazer uma resposta.

Suas dúvidas são enriquecedoras e muito pertinentes a respeito do Git, obrigado por trazer essa discussão no fórum. Irei responder cada pergunta separadamente para que possa gerar uma maior compreensão:

  • 1- Cada git init define um repositório local que depois vai servir de referência para enviar ao GitHub?
    • Isso mesmo. Ao utilizar o git init transformamos o diretório atual em um repositório do Git e posteriormente podemos enviar esse repositório para o Github. O comando git init inicia o monitoramento na pasta, rastreando os novos arquivos e também, modificações.
  • 2 - E para cada projeto novo abro uma pasta local e dou git init ?
    • Se o objetivo for rastrear as modificações desse projeto sim, caso queira ter um controle de versões desse projeto, o primeiro passo é sim executar o git init para que o diretório local possa ser rastreado.
  • 3 - A estrutura local vai ser replicada no GitHub respeitando pastas e subpastas?
    • Sim, será respeitada. Porém, vale ressaltar que para isso o comando git init deve ser utilizado dentro da pasta "pai" das subpastas.
  • 4.- A pasta onde já estou trabalhando com o código, pode ser a referência para o repositório local e se afirmativo existe algum risco de perda de arquivos por erro de comando digitado pelo usuário novato ?
    • Pode sim ser referência, porém, quando estamos trabalhando no mercado de trabalho e consequentemente em equipe, fazemos o uso das branchs, que são ramificações dentro do Git, onde cada pessoa terá seu histórico próprio do Git. Ou seja, se o usuário Paulo modificar o código, isso não afeta o seu, pois cada pessoa terá uma estação de trabalho diferente. E para juntar essas estações de trabalho, geralmente é passado por uma revisão técnica feita pela pessoa mais experiente antes de apenas mergiar (git merge) nos códigos. Porém, caso ambas pessoas trabalhem em uma mesma branch/ramificação, em caso de erros, é possível tentar recuperar os arquivos fazendo uma volta nos commits, mas, dependendo do que for feito, pode ser definitivo.
  • 5 - Se tiver uma estrutura de pastas como GitProj/Proj1/Proj2/ ... dou git init em cada sub pasta ? Pois teoricamente são repositórios diferentes para cada projeto ?
    • Se cada projeto possui uma finalidade diferente, sim, devemos executar o git init em cada subpasta. Mas, caso ambos projetos pertençam a um mesmo nicho, basta executar o git init na raiz do projeto que todas as subpastas dele são rastreadas.

Caso queira se aprofundar ainda mais nos conhecimentos de Git, recomendo um artigo sobre os novos comandos, sendo que um deles facilita muito a recuperação dos arquivos, um curso aqui da Alura, onde você irá aprender a trabalhar em equipe utilizando o git, utilizará branchs, pull requests, dentre outros:

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓良好的学习!

Oi Victor , agradeço a resposta detalhada !

謝謝你和問候! Obrigado e saudações ! (Conf. Google Translator ... rsrs) Abraço