Pergunta

Minha pergunta é realmente inocente. Estive lendo sobre git e já conheço o básico, como empurrar, puxar, criar branches e assim por diante. Meu mentor me disse que a maneira correta de trabalhar com git é puxar os recursos, criar um novo branch local, transferir e editar esse branch local e, quando terminar, volte ao branch master e mescle-o com o seu branch local. Agora, minha pergunta é: o que exatamente acontece nos bastidores?

  1. Quero dizer, quando o git cria um branch local, ele cria uma cópia do branch master que você pode editar? Em caso afirmativo, onde essas cópias estão localizadas?

  2. Se por acaso eu bagunçar meu branch local, como faço para reverter as alterações (digamos, por exemplo, eu quero voltar a como era quando puxei o master)? É apenas uma simples questão de voltar ao master e excluir o branch local?

  3. Suponho que a razão pela qual as pessoas o chamam de controle de versão é por causa dos ramos, que eu acho ... Representa a versão. Estou correcto?

  4. Por que o mestre é chamado de ramo? Não deveria ser um baú? ok, é apenas uma pergunta muito idiota, ignore # 4 ... hahaha!

As respostas às minhas perguntas infantis inocentes serão apreciadas. <3 <3 <3

Foi útil?

Solução

Quero dizer, quando o git cria um branch local, ele cria uma cópia do branch master que você pode editar? Em caso afirmativo, onde essas cópias estão localizadas?

Branch não é uma cópia. Um branch no Git é apenas um "ponteiro" para o último commit. O objeto commit aponta para seus pais e é assim que você obtém o "branch" inteiro.

Então, assim que você ramificar do master, você obterá mais um ponteiro para o mesmo commit. Nada menos, nada mais. Agora, o master e o branch apontam para o mesmo commit. Conforme você continua fazendo commit no branch agora, o ponteiro do branch continua se movendo para apontar para seus commits específicos do branch.

Se por acaso eu bagunçar meu branch local, como faço para reverter as alterações (digamos, por exemplo, eu quero voltar a ser como era quando puxei o master)? É apenas uma simples questão de voltar ao master e excluir o branch local?

Se você não gosta de um branch, apenas exclua - git branch -d hotfix Branches no Git são baratos, pois, como eu disse, é apenas um ponteiro para um commit, o que significa que é um arquivo que contém os 41 caracteres SHA- 1 checksum em .git\refs\heads\branchname

Se você não deseja excluir o branch, redefina para um commit anterior usando algo como git reset --hard HEAD~1

Suponho que a razão pela qual as pessoas o chamam de controle de versão é por causa das ramificações, que eu acho ... Representa a versão. Estou certo?

Nós os chamamos de controle de versão por causa de cada revisão ou confirmação, que é a unidade de mudança. Branch é uma coleção de alterações desde um commit ou ponto de ramificação específico. \

PS: É claro que estou parafraseando o ProGit, portanto, como você comentou que o leu, não tenho certeza se minha resposta será de ajuda.

Outras dicas

Recomendo fortemente a leitura do Livro Pro Git .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top