2009-09-16 13 views
12

Ich bin es gewohnt, von einem Git-Repository von jemandem zu ziehen. Heute hat er sein Repository an eine andere Adresse verschoben. Ich frage mich, ob es einen Weg für mich gibt, von der neuen Adresse zu ziehen und die Informationen darüber zu bekommen, was er vor dem Umzug geändert hat.Git beim Ändern des Repository

Was ich getan habe ist "git clone newaddress" unter meinem Repository gezogen von seinem alten. Der Ausgang ist wie:

xxx bekam

Spaziergang xxx

bekam xxx

bekam xxx

Spaziergang xxx

Erste Stellvertreter Liste für newaddress

Erste Packliste für newaddress

für Pack xxx

Erste Packung xxx

die xxx enthält

bekam xxx

bekam xxx

Spaziergang xxx

Erste Index

...

Dann habe ich „Git-Pull“ und bekam die folgende Meldung, die ich nicht verstehe:

Sie mich gebeten, ohne mir zu sagen zu ziehen welcher Branche Sie mit zusammenführen möchten, und ‚Zweig .master.merge 'in Ihre Konfigurationsdatei sagt mir auch nicht. Bitte geben Sie an, welcher Zweig in der Befehlszeile zusammengeführt werden soll, und versuchen Sie es erneut (z. B. 'git pull') . Siehe git-pull (1) für Einzelheiten zur Refspec.

Wenn Sie häufig mit dem gleichen Zweig zusammenführen, können Sie die folgenden Variablen in Ihrer Konfiguration Datei zu konfigurieren möchten:

branch.master.remote = <nickname> 
branch.master.merge = <remote-ref> 
remote.<nickname>.url = <url> 
remote.<nickname>.fetch = <refspec> 

Siehe git-config (1) für weitere Einzelheiten.

Was kann ich jetzt noch in der Lage sein, die Informationen zu bekommen, was ändert er mit Bezug auf den letzte Mal gemacht vor seinem Umzug?

Danke und Gruß!

Antwort

23

Wenn ich Ihre Frage richtig zu verstehen, was Sie suchen, um Ihren aktuellen Remote-Ursprung durch einen neuen zu tun ist, zu ersetzen. Ich weiß nicht, ob Sie es von der Kommandozeile ersetzen können, aber man kann es in Ihrem .git/config ändern (dies ist in Ihrem Projektverzeichnis)

OLD

[remote "origin"] 
    url = git+ssh://original_repository.com/my_project.git 
    ... 

NEW

[remote "origin"] 
    url = git+ssh://new_repository.com/my_project.git 
    ... 

Der git+ssh Teil könnte etwas wie [email protected] (das wäre es, wenn Sie github verwenden würden), oder ich bin mir sicher, eine Vielzahl anderer Dinge. Dies könnte helfen, einige Dinge zu klären, die ich weggelassen oder nicht gut genug erklärt habe: Changing Your Origin.

Hoffe das hilft Ihre Frage zu beantworten. Prost.

+0

Für eine schnelle Referenz: ----------------------------- Git Remote-Set-URL Ursprung https://github.com/user/ repo2.git ----------------------------------------- http: // Stapelüberlauf. com/fragen/2432764/how-to-ändern-ein-remote-repository-uri-using-git –

1

Run dies in Ihrem geklonten Git Repository:

git config branch.master.remote origin 

kümmern das "Du hast mich gefragt, ohne mir zu sagen, zu ziehen" ... Nachricht.

Dann, wenn Sie wissen, wohin der Remote-Repo verschoben wurde, könnten Sie in Ihrem neuen geklonten lokalen Repo eine git diff seit diesem Datum tun.

$ git diff "@{yesterday}" 
$ git whatchanged --since="2 weeks ago" 

Hinweis: das bevorstehende git1.6.5 mentions

Menschen beschreibbaren Datumsformat, um verschiedene Optionen, zum Beispiel "--since=yesterday", "[email protected]{2000.09.17}", wird gelehrt, einige weggelassene Eingaben richtig abzuleiten.

Siehe auch die Frage SO „How do you get git to always pull from a specific branch?

+0

Danke! Ich habe gerade gemerkt, dass ich hier etwas sehr falsch gemacht habe. Ich habe sein neues Repository direkt unter dem eigenen Verzeichnis geklont, was bedeutet, dass ein Klon seines neuen Repositories als Unterverzeichnis meines eigenen Repositories erscheint, als Klon seines alten Repositories. Also habe ich einfach das ganze Unterverzeichnis entfernt. Wenn ich nun eine "git clone newaddress" unter dem übergeordneten Verzeichnis meines Repositorys mache, bekomme ich "fatal: Zielverzeichnis 'vision_test' existiert bereits." Also, was ist der richtige Weg, um die Adresse seines Repositories in meinem eigenen zu ändern, so dass ich in Zukunft nur noch "git pull" verwenden kann? Danke und Grüße! – Tim

+0

In Git 1.7.7.5, hatte ich die "Sie fragte mich zu ziehen, ohne mir zu sagen, welcher Zweig Sie ..." nach dem Aufruf von 'git remote rm Herkunft' und 'git remote füge Ursprung git @ fluff hinzu: /git/dist.git '. Aber ich musste folgende 3: anrufen 1) 'git config --remove-section branch.master' 2)' git config branch.master.remoteursprung' 3) 'git config branch.master.merge refs/heads/master', um die Warnung loszuwerden und nicht zwei [branch "master"] in ./git/config zu haben. – mmorris