Executando verificação de segurança...
1

Mudando repositório remoto GitHub

Olá pessoal, tudo bem?
Eu tô fazendo um certa "besteira" quando eu tento trocar de repositório remoto no git bash.
Quando eu quero encaminhar para um repositório diferente do que eu estou, primeiro eu verifico com:
git remote -v
pra saber e qual repositório eu estou, depois eu só mudo com:
git remote set origin novo-url-do-repositorio
Até aí tudo bem
dou o git add (somente o arquivo que quero encaminhar)
Mas às vezes quando vou commitar e dar o git push origin vão todos os arquivos do meu repositório local e não apenas os que eu selecionei no git add
Alguém pode me explicar qual a besteira que eu estou fazendo pra isso acontecer?
Depois dá mó trabalho para apagar os outros arquivos que eu não quero que esteja no repositório.

Carregando publicação patrocinada...
1

vão todos os arquivos do meu repositório local e não apenas os que eu selecionei no git add

Mas a ideia do git push é justamente essa: enviar para o repositório remoto todas as alterações do seu branch local que ainda não estão lá.

Aqui tem uma explicação bem didática, e a ideia básica é essa mesmo. Ao fazer push, o "seu" Git (seu repositório local) está dizendo: "Ei remote, fiz essas alterações no meu branch, vou te mandar todas que vc ainda não tem".


No git add vc escolhe as alterações que vão no próximo commit. Se o push mandou mais coisas, é porque essas coisas a mais não estavam no repositório remoto. Um push não vai mandar só o último commit, vai mandar tudo que ainda não está no remoto.


Dito isso, por que vc precisa trocar o remoto? Pergunto isso porque dá para ter vários repositórios remotos configurados (e dá até pra fazer push em mais de um ao mesmo tempo), e vc pode dar o nome que quiser pra eles ("origin" é apenas o nome default quando vc clona um repositório, mas nada impede que vc dê outros nomes para outros remotos).

E aí na hora do push vc escolhe para qual precisa mandar, bastando fazer git push <nome-do-remote> <nome-do-branch>.


Agora, se vc só quer uma parte dos arquivos em outro repositório, aí não dá mesmo. Todos os repositórios sempre terão todo o histórico, e qualquer tentativa de sincronizar (push, pull, fetch) sempre vai enviar/receber tudo que estiver faltando.