Ich habe eine leere Repo erstellt, um mein Repository zu veröffentlichen, aber ich kann nicht herausfinden, wie das leere Repo mit dem aktuellen Status des Haupt-Repository aktualisiert werden.Wie aktualisiere ich mein leeres Repo?
Antwort
Wenn Sie alle Objekte aus der Haupt-Repo duplizieren wollen, tun dies innerhalb des Haupt Repo:
git push --all <url-of-bare-repo>
Alternativ innerhalb des nackten Repo eine Abruf tun:
git fetch <url-of-main-repo>
Sie können nicht Mach einen Pull, weil ein Pull mit HEAD
verschmelzen will, was ein bare Repo nicht hat.
Sie können diese als Fernbedienungen hinzufügen, sich in Zukunft etwas Tipp zu sparen:
git remote add <whatever-name> <url-of-other-repo>
Dann können Sie einfach tun
git push --all <whatever-name>
oder
git fetch <whatever-name>
auf welche Repo je Sie sind in. Wenn <whatever-name>
origin
ist, können Sie es sogar Altogeget lassen r.
Haftungsausschluss: Ich bin kein Git Guru. Wenn ich etwas falsches gesagt habe, möchte ich erleuchtet sein!
Update: Lesen Sie die Kommentare!
Der Push scheint gut zu funktionieren, thx für den Hinweis, ich denke, dass ich in der Lage sein werde, dies zu integrieren ein Haken oder etwas ähnliches. –
Wenn ich ein 'git-fetch --all' im blossen Repository gemacht habe, habe ich keine Updates gesehen, die ich am Hauptrepo gemacht habe, aber wenn ich sie aus dem Hauptrepo mit' git push --all
Was meinst du mit "nicht gesehen"? Ich bin mir nicht sicher, wie 'git log' sich in einem bloßen Repo verhält; Vielleicht versuchen Sie 'git log --all'? – Thomas
Fügen Sie das leere Repository als Remote-Repository hinzu und verwenden Sie dann git push
.
Also, wenn ich dies tun möchte, ohne zu drücken kann ich nicht Verwenden Sie ein bloßes Repository und verwenden Sie einen symbolischen Link oder etwas ähnliches? –
Pushing ist die normale Methode zum Übertragen von Repository-Inhalten in ein blankes Repository. Sie müssen es nicht vermeiden. – Philipp
Sie können nicht immer drücken. Zum Beispiel, wenn das bare in einem privaten Netzwerk ist, und das Hauptrepos ist ein öffentliches (zum Beispiel auf GitHub) – fanf42
habe ich ein Repository den folgenden Befehl
mitgit clone --bare <remote_repo>
Dann für mich Ich versuchte, den nackten Klon mit der Antwort von Thomas zu aktualisieren, aber es hat nicht funktioniert. Um die nackten Repository zu erhalten zu aktualisieren (das ist, was ich denke Let_Me_Be bat), hatte ich einen Spiegel-Repository zu erstellen:
git clone --mirror <remote_repo>
Dann könnte ich den folgenden Befehl in dem gespiegelten Repository laufen die wichtigsten Repository Updates zu greifen :
git fetch --all
ich auf diese Lösung kam von Mirror a Git Repository By Pulling
Um ein vorhandenes blankes Repo in einen Spiegel zu verwandeln, müssen Sie lediglich 2 Zeilen zur git config-Datei unter
Die einzige Lösung liest neben mit git clone --mirror
neu zu erstellen ist from Gregor:
git config remote.origin.fetch 'refs/heads/*:refs/heads/*'
dann können Sie git fetch
und Sie werden die Updates sehen. Das Seltsame ist, dass vorher, obwohl es ein remote
konfiguriert ist, es keine Zweige in git branch -a
aufgeführt hat.
Das hat mir wirklich geholfen! Capistrano Projekt/Repo verwendet diese Einstellung auch, um ein einliniges "Git Remote Update" zu ermöglichen. –
Wenn die Gegenstelle Zweige aktualisiert oder gelöscht hat (und Sie diese Änderungen widerspiegeln möchten), müssen Sie der Zeile 'git fetch' gegebenenfalls' --force' und '--prune' hinzufügen. –
Nach viel Herumspielen habe ich festgestellt, dass dies für mich funktioniert.Sobald
:
git clone --mirror ssh://[email protected]:2000/repo
git remote add remote_site ssh://[email protected]_site.address/repo
git config remote.origin.fetch 'refs/heads/*:refs/heads/*'
Jedesmal, wenn ich synchronisieren möchten:
cd /home/myhome/repo.git
git --bare fetch ssh://[email protected]:2000/repo
git fetch ssh://[email protected]:2000/repo
git push --mirror remote_site
Die dritte Zeile ('git config remote.origin.fetch 'refs/heads/*: refs/heads/*'') ist der Schlüssel. Gute Antwort, danke! – peterh
Unter der Annahme:
$ git clone --bare https://github.com/.../foo.git
Fetch mit:
$ git --git-dir=foo.git fetch origin +refs/heads/*:refs/heads/* --prune
Hinweis: --git-dir=foo.git
ist nicht erforderlich, wenn Sie cd
zuerst an das Verzeichnis senden.
Seltsam, dass diese Antwort nicht an der Spitze ist. Zumindest funktioniert es hier ... –
Ich habe einen nackten Klon gemacht, und es gibt keinen Ursprung ... – Kieveli
Obwohl ich nicht weiß, wann das passiert, wenn 'Herkunft' nicht definiert ist, können Sie immer den 'Ursprung' ersetzen Teil mit dem Pfad/URL zu Ihrem ursprünglichen Repository. z.B. '$ git --git-dir = foo.git holen https://github.com/.../foo.git + refs/heads/*: refs/heads/*' – antak
- 1. Wie ich mein Nginx mit yum auf CentOS 7 aktualisiere
- 2. Wie aktualisiere ich meinen gegabelten Repo mit SourceTree?
- 3. Wie aktualisiere/aktualisiere ich app.config?
- 4. Wie aktualisiere ich mein google_oauth2-Zugriffstoken mit meinem Aktualisierungstoken?
- 5. Wie aktualisiere ich Webview?
- 6. Wie aktualisiere ich Datenrahmen
- 7. Wie aktualisiere ich datagridview
- 8. Wie aktualisiere ich axshockwaveflashObjects
- 9. Wie aktualisiere ich AppWidget richtig?
- 10. Wie erstelle ich ein leeres/leeres SimpleXMLElement in PHP?
- 11. Warum erhalte ich ein leeres Repo, wenn ich meine Keystone-App aus Heroku in das lokale Repo klone?
- 12. Ich kann mein lokales Git Repo basierend auf SVN
- 13. Git: Repo enthält ein leeres Verzeichnis - was passiert?
- 14. Wie aktualisiere ich auf addEventListener?
- 15. Wie aktualisiere ich tinymce iframe?
- 16. Wie aktualisiere ich React localstorage?
- 17. Wie aktualisiere ich Azure PowerShell?
- 18. Wie aktualisiere ich DotNetNuke Skins?
- 19. Wie aktualisiere ich Twitter Bootstrap
- 20. Wie aktualisiere ich meine HttpWebRequest
- 21. Wie aktualisiere ich meine RadTreeView
- 22. Ich konnte nicht ziehen, um mein lokales Git Repo zu aktualisieren
- 23. Wie aktualisiere/aktualisiere ich das AG-Grid nach dem Löschen?
- 24. Wie Sie Drittanbieter-Github Repo in mein Projekt einbeziehen
- 25. Wie aktualisiere ich von iPython verwendete Pakete?
- 26. pyQt: Wie aktualisiere ich ein Etikett?
- 27. Wie aktualisiere ich eine Fortschrittsleiste OnSelectedIndexChanged?
- 28. Wie aktualisiere ich das Fenster mit Tkinter
- 29. Wie aktualisiere ich das OAuth-Token?
- 30. Wie aktualisiere ich den Clusterstatus in dataproc
Siehe diese Antwort: http://StackOverflow.com/Questions/315911/Git-for-Beginners-the-definitive-Praktical-Guide/2964397#2964397 –