2016-11-29 2 views
1

Ich habe ein lokales Verzeichnis, das den Quellcode enthält, abzüglich des Ordners .git, so dass es keine Git-Integration gibt. Ich möchte die Fernbedienung hinzufügen und alle Änderungen herunterziehen. Ich habe versucht git init && git remote add origin https://..., aber es möchte, dass ich eine erste commit machen. Da es ein bestehendes Projekt gibt, möchte ich kein initiales Commit machen.Hinzufügen von git remote zur lokalen Quelle

Wie kann ich die Remote-Repo-Fernbedienung hinzufügen und Änderungen ohne eine initiale Festschreibung herunterziehen?

+0

[Erstes Google-Ergebnis.] (Http://www.thehorrors.org.uk/snippets/git-local-filesystem-remotes/) Funktioniert es? – Brian

+1

Ich denke, dass ein einfacherer Ansatz wäre, es in umgekehrter Reihenfolge zu tun. Klonen Sie zuerst das Remote-Repository, um eine lokale Kopie * mit * seinem '.git'-Ordner zu erhalten, und kopieren Sie dann Ihre Änderungen in das vorhandene Repository. – Lix

Antwort

2

einfacher wäre:

git clone /url/remote/repo 
git --work-tree=/path/to/source add . 
git commit -m "update repo with local source" 
git push 

Der Trick, um die git --work-tree=<path> Option verwenden, um Dateien hinzuzufügen, die nicht in der aktuellen lokalen Repo worktree ist.

-1

Ich möchte die Fernbedienung hinzufügen und Änderungen herunterziehen.

Sie können das lokale Verzeichnis in ein Git-Repository umwandeln, die Fernbedienung hinzufügen und den Inhalt abrufen.

git init 
git remote add origin repo-url 
git fetch origin master 

Wenn Sie sagen, „alle Änderungen nach unten ziehen“, es scheint darauf hinzudeuten, dass Sie lokale Änderungen nicht haben, Sie wollen einfach nur mit der Remote-Repo auf dem neuesten Stand sein. Wenn das der Fall ist, können Sie Hard-Reset den lokalen Repo an den entfernten, alle lokalen Unterschiede zu verwerfen:

git reset --hard origin/master 

Als Ergebnis, das lokale Verzeichnis wird mit der Remote-Repo auf dem neuesten Stand sein, und wird es eine ordnungsgemäße Git Repo mit einem .git Verzeichnis sein.

+0

Sie können Git-Befehle nicht in einem Ordner ausführen, der nicht als Git-Repo initiiert wurde. Das OP gibt an, dass sich sein Code an einem Speicherort ohne einen '.git'-Ordner befindet. – Lix

+0

@Lix Ich habe die Frage verstanden, dass er schon 'git init' gemacht hat. Vielleicht habe ich es falsch verstanden. Ich habe diesen Punkt jetzt geklärt. – janos

0

Sie sind auf dem richtigen Weg. Allerdings, um Ihre Frage zu beantworten, können Sie nicht, zumindest nicht ohne Klonen/Forken. Wenn Sie Ihren Code einfach zu einem bereits vorhandenen Repo hinzufügen und ein Mitarbeiter des Repos sind, können Sie das Repo verzweigen, Ihren Code hinzufügen und eine Anforderung für den Eigentümer abholen, um den Zweig in den Master zu integrieren.

Wenn Sie der einzige Entwickler auf dem Projekt sind Ihre Init-Commit und nachfolgenden Push einfach das Projekt zum Server hinzufügen, und damit die Git-Magie der Versionskontrolle zu starten.

Verwandte Themen