- Explicação detalhada sobre o diretório
.git criado ao executar git init
- O diretório
.git inclui vários arquivos e pastas, como config, HEAD, hooks, objects e refs
- O arquivo de texto
config contém as configurações do git do repositório atual, incluindo definições básicas como autor e modo de arquivo
- O arquivo
HEAD contém o head atual do repositório, apontando para a branch padrão. Dependendo de qual branch padrão foi definida, pode ser master, main etc.
- O diretório
hooks contém todos os scripts que podem ser executados antes ou depois das operações do git
- O diretório
objects contém os dados sobre os arquivos e commits do repositório
- O diretório
refs armazena referências ou ponteiros para branches e tags
- Quando um arquivo é adicionado ao repositório, o arquivo
index é modificado e novas pastas e arquivos são adicionados ao diretório objects
- Os novos arquivos no diretório
objects incluem o tipo, o tamanho e os dados do arquivo adicionado, e o nome do arquivo é obtido a partir do SHA-1 do conteúdo
- Quando um arquivo é commitado, várias mudanças acontecem, como a criação de um novo arquivo chamado
COMMIT_EDITMSG, que contém a mensagem de commit, além da adição de novos objetos ao diretório objects
- No git, criar uma branch é um processo simples que envolve adicionar um novo arquivo no diretório
refs/heads com o nome da branch e o ID do commit mais recente
- Fazer checkout de uma branch envolve atualizar o arquivo
.git/HEAD para que ele aponte para a branch em checkout
- A mesclagem de branches pode ser feita de três formas: fast-forward merge, rebase merge e criação de um commit de merge separado
- Quando um repositório recebe push, tudo no diretório
objects e todas as branches e tags sob refs que foram explicitamente enviadas são transmitidos para outro repositório git
1 comentários