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

Repositório desanexado

Boa tarde pessoal !

Ficou um pouco confuso na minha cabeça a parte que cria umcommit desanexado. Eu entendi que posso navegar pelos commit's e "alterá-los", digamos assim, porém, quando fazemos uma alteração em um commit antigo é criado um commit "gosth", e caso eu queria criar uma alteração daquele commit antigo, tenho que criar uma nova branch, adiciona-lá e depois voltar para a master.

Meu raciocínio está correto ?

4 respostas
solução!

Fala, Renato. Só não entendi o que é "gosth".

Mas, respondendo à pergunta:

Se eu executo git checkout 1234 para colocar meu código no estado do commit com o hash 1234, eu não estou em nenhuma linha de desenvolvimento (branch) válida.

Com isso, se a partir dali eu executar um novo commit, este commit vai estar perdido. Desanexado de qualquer outra linha do tempo.

Se a partir do commit 1234 eu quiser fazer alterações e salvá-las, eu preciso criar uma linha do tempo (branch) a partir dele. Faz mais sentido agora?

:-)

Aquela ferramenta chamada "Visualizing Git" essa explicação mais clara.

Entendi Vinicius, porem agora me surgiu uma outra dúvida. Fiz o git checkout {cod do commit}, voltei minha linha do tempo e criei um novo commit, foi criado um commit desanexado, blz ! Agora se eu quiser salvar as alterações, preciso criar um Branch (git checkout -b teste), ok. Agora para eu fazer um commit dessa Branch teste para minha master, como fazer mesmo ? Não é apenas um commit direto ?!

Opa, Renato.

Nesse caso, se entendi direito, você vai querer fazer merge ou rebase do branch teste pro master.

:-D

Entendido Vinicius, muito obrigado !

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software