git ao alterar o repositório
-
07-07-2019 - |
Pergunta
Estou acostumado a extrair de um repositório git de alguém.Hoje ele mudou seu repositório para outro endereço.Gostaria de saber se há alguma maneira de sair do novo endereço e obter informações sobre quais alterações ele fez em relação à última vez antes de se mudar.
O que eu fiz foi "git clone newaddress" no meu repositório extraído do antigo.A saída é como:
tenho xxx
andar xxx
tenho xxx
tenho xxx
andar xxx
Obtendo lista de alternativas para novo endereço
Obtendo lista de pacotes para novo endereço
Obtendo índice para o pacote xxx
Obtendo pacote xxx
que contém xxx
tenho xxx
tenho xxx
andar xxx
...
Então eu "git pull" e recebi a seguinte mensagem que não entendi:
Você me pediu para puxar sem me dizer com qual ramo você deseja se fundir e 'ramil.master.merge' em seu arquivo de configuração também não me diz.Nomeie qual ramo você deseja se fundir na linha de comando e tente novamente (por exemplo,'git pull').Veja git-pull(1) para detalhes sobre o refspec.
Se você costuma se fundir com o mesmo ramo, pode configurar as seguintes variáveis em seu arquivo de configuração:
branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
Veja git-config(1) para detalhes.
O que posso fazer agora para ainda poder obter informações sobre as alterações que ele fez em relação à última vez antes de se mudar?
Obrigado e cumprimentos!
Solução
Se entendi sua pergunta corretamente, o que você deseja fazer é substituir sua origem remota atual por uma nova.Não sei se você pode substituí-lo na linha de comando, mas você pode alterá-lo no seu .git/config
(isso está no diretório do seu projeto)
VELHO
[remote "origin"]
url = git+ssh://original_repository.com/my_project.git
...
NOVO
[remote "origin"]
url = git+ssh://new_repository.com/my_project.git
...
O git+ssh
parte pode ser algo como git@
(isso seria se você estivesse usando o github) ou tenho certeza de uma variedade de outras coisas.Isso pode ajudar a esclarecer algumas coisas que deixei de fora ou não expliquei bem o suficiente: Mudando sua origem.
Espero que isso ajude a responder a sua pergunta.Saúde.
Outras dicas
Execute isto em seu repositório git clonado:
git config branch.master.remote origin
para cuidar do "Você pediu para eu puxar sem me avisar"...mensagem.
Então, se você souber para onde o repositório remoto foi movido, poderá fazer em seu novo repositório local clonado um git diff
desde aquela data.
$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"
Observação:o próximo git1.6.5 menciona
Formato de data gravável por humanos para várias opções, por ex."
--since=yesterday
", "master@{2000.09.17}
", são ensinados a inferir corretamente alguma entrada omitida.
Veja também a pergunta SO "Como você faz com que o git sempre extraia de um branch específico?"