2
respostas

[Reclamação] Gerenciamento de branches confuso

Criei o tópico pra reforçar que o trecho em que o instrutor realiza push pra origin precisa ser revisto.

O jeito que eu encontrei de continuar acompanhando o curso foi copiar as branches do repo Curso_CI do instrutor pro meu, usando os seguintes comandos:

ALERTA: substituir seu_usuario na URL abaixo pelo seu username do GitHub.

git clone https://github.com/leollo98/Curso_CI.git
git remote add Curso_CI https://github.com/seu_usuario/Curso_CI.git
git fetch
git checkout Aula_1
git push Curso_CI Aula_1
git checkout Aula_2
git push Curso_CI Aula_2

Desta forma, você traz os dados da origin (repositório do instrutor) e realiza push para Curso_CI (seu repositório).

2 respostas

Olá, Leonam! Tudo bem?

Entendo que o gerenciamento de branches possa parecer confuso no início, mas você está no caminho certo! O seu método de copiar as branches do repositório do instrutor para o seu é totalmente válido e uma ótima maneira de acompanhar o curso.

No entanto, gostaria de esclarecer que o instrutor utilizou o comando git push origin Aula_1 e git push origin Aula_2 para fazer o upload de duas branches separadas, uma para cada aula do curso. O termo "origin" aqui é o nome padrão dado ao repositório remoto de onde você clonou originalmente.

No seu caso, quando você utiliza o comando git push Curso_CI Aula_1 e git push Curso_CI Aula_2, você está fazendo o push das branches para o seu repositório remoto chamado "Curso_CI", que é uma cópia do repositório do instrutor.

Aqui está um exemplo prático para ilustrar isso:

  1. Você clonou o repositório do instrutor (https://github.com/leollo98/Curso_CI.git) para o seu computador local.

  2. Você adicionou o seu repositório como um repositório remoto com o comando git remote add Curso_CI https://github.com/seu_usuario/Curso_CI.git.

  3. Você fez o fetch para obter as atualizações mais recentes do repositório original do instrutor com o comando git fetch.

  4. Você fez o checkout para a branch "Aula_1" com o comando git checkout Aula_1.

  5. Você fez o push da branch "Aula_1" para o seu repositório remoto "Curso_CI" com o comando git push Curso_CI Aula_1.

  6. Você repetiu os passos 4 e 5 para a branch "Aula_2".

Espero que essa explicação tenha esclarecido um pouco mais sobre o gerenciamento de branches. Lembre-se, a prática é a chave para o domínio, então continue experimentando e aprendendo!

Espero ter ajudado e bons estudos!

Boa tarde, Renan!

Já estou acostumado a usar Git, então realizei o processo acima bem ciente de como ele funciona, de qualquer forma, explicar cada passo pode ajudar quem está iniciando com a ferramenta, por isso, obrigado pelo complemento.

Com relação ao gerenciamento de branches, estava me referindo como ele ocorre no decorrer do curso:

  1. O instrutor começa clonando de um projeto, depois passa para outro. Por que não criar um repositório pra isso logo no início? A solução que eu dei foi justamente porque inicialmente a gente clona do repositório do instrutor, então a origin não é o meu repositório, portanto, não faz sentido dar push pra ela. Só que isso não é dito em momento algum, e pra quem não tem familiaridade com Git, pode ser um entrave desnecessário num curso de Actions.

  2. Cada aula possui uma branch, mas em momento algum há necessidade disso. Se a questão era facilitar a visualização das mudanças, bastava deixar os commits bem informativos. Isso só torna o processo mais oneroso tanto pra quem está explicando quanto pra quem está aprendendo. Tanto que o instrutor só lembra de informar as branches das aulas 1 e 2, em seguida, a gente vê pelos vídeos - ou pelo repositório - que existem outras, mas não são citadas e nem fazem diferença pra conclusão, basta continuar na branch Aula_2.