3
respostas

Git compartilhado

Estou usando um computador compartilhado com meu pai, e ambos estamos estudando no programa Alura One. O problema é que, ao usar o Git e o GitHub, todos os repositórios criados ficam com o nome e o e-mail do meu pai, pois ele foi configurado como usuário global. Isso atrapalha meus estudos, já que os commits acabam sendo feitos na conta dele.

Pensei em criar uma pasta específica para meus repositórios e configurar um usuário e e-mail local diferentes do que está definido como global. Dessa forma, cada um poderia estudar sem interferir no progresso do outro.

Outra opção seria editar o arquivo .gitconfig para definir dois usuários globais, com caminhos diferentes para os repositórios de cada um. No entanto, como estou aprendendo, acho que a primeira opção (usar um usuário local para mim e manter o global para o meu pai) seria mais simples e fácil de gerenciar.

Isso pode causar algum problema ou é uma solução viável?

3 respostas

Olá, estudante. Tudo bem?

A sua ideia de configurar um usuário e e-mail local para seus repositórios é uma solução viável e bastante comum em situações como a sua.

No Git, você pode configurar um usuário e e-mail específicos para cada repositório. Isso é feito dentro da pasta do repositório, o que significa que você pode ter configurações diferentes para cada projeto. Aqui está como você pode fazer isso:

  1. Navegue até o diretório do seu repositório: Use o terminal ou prompt de comando e vá até a pasta do repositório em que você deseja alterar as configurações.

  2. Configure o usuário e o e-mail localmente: Dentro do diretório do repositório, execute os seguintes comandos:

    git config user.name "Seu Nome"
    git config user.email "seuemail@example.com"
    

Esses comandos definem o nome e o e-mail apenas para aquele repositório específico, sem alterar as configurações globais do Git que estão configuradas para o seu pai.

Essa abordagem permite que você e seu pai trabalhem no mesmo computador sem interferir nos commits um do outro. É uma solução prática e não deve causar problemas, desde que você se lembre de configurar o usuário e o e-mail em cada novo repositório que criar. Veja se faz sentido e faça o teste.

Espero ter ajudado e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Professor, surgiu uma dúvida. No curso, aprendi sobre a chave SSH e já existe uma configurada neste computador, mas ela está vinculada à conta do meu pai.

Para autenticar meus commits na minha conta do GitHub, preciso gerar minha própria chave SSH. Mas, para isso, teria que adicionar a chave pública existente (do meu pai) na minha conta do GitHub antes de criar a minha?

Além disso, é possível ter várias chaves SSH no mesmo computador?

Primeiramente devo criar o repositório local e depois criar a chave ssh ?

git config user.name "Seu Nome" git config user.email "seuemail@example.com"

Devo usar esses comandos antes de usar o git init certo? - Acredito que sim , pois se for direto para o git init, ele vai associar a conta global do meu pai.

Olá, novamente.

Sobre sua última dúvida:

Você não precisa adicionar a chave pública do seu pai na sua conta do GitHub antes de criar a sua própria. O ideal é que cada conta do GitHub tenha sua própria chave SSH.

Como configurar múltiplas chaves SSH no mesmo computador

Sim, é possível ter várias chaves SSH no mesmo computador, mas você precisará configurar o arquivo ~/.ssh/config para gerenciar qual chave será usada para cada conta.

Passo a passo para criar e configurar sua chave SSH:

  1. Gere uma nova chave SSH para sua conta:

    
    ssh-keygen -t ed25519 -C "seuemail@example.com"
    

    Dica: Quando for solicitado um nome para o arquivo, use algo como id_ed25519_seuusuario para diferenciar da chave do seu pai.

  2. Adicione a chave ao ssh-agent:

    
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519_seuusuario
    
  3. Configure o arquivo ~/.ssh/config para indicar qual chave usar:Abra o arquivo (ou crie se não existir) com:

    
    nano ~/.ssh/config
    

    Adicione a seguinte configuração:

    
    Host github-seuusuario
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_seuusuario
    
  4. Adicione a chave ao GitHub:Copie sua chave pública:

    
    cat ~/.ssh/id_ed25519_seuusuario.pub
    

    Depois, vá até Configurações → SSH and GPG keys no GitHub e adicione a chave.

  5. Clone repositórios usando o alias que configuramos:

    
    git clone git@github-seuusuario:seuusuario/repositorio.git
    

Sobre a ordem dos comandos no Git:

Sim, você pode rodar git config user.name e git config user.email antes de git init, mas isso não é obrigatório. O ideal é rodar esses comandos dentro do diretório do repositório após inicializá-lo.

Fico à disposição. Abraços e bons estudos.