Ich muss zwei Git-Zweige wiederherstellen, die ich während eines Pushs irgendwie gelöscht habe.
Diese beiden Zweige wurden auf einem anderen System erstellt und dann in mein "freigegebenes" (Github) Repository verschoben.
Auf meinem System habe ich (anscheinend) die Zweige während eines Abrufs abgerufen:
~/myfolder> git fetch
remote: Counting objects: 105, done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 62 (delta 29), reused 0 (delta 0)
Unpacking objects: 100% (62/62), done.
From github.com:mygiturl
* [new branch] contact_page -> origin/contact_page
731d1bb..e8b68cc homepage -> origin/homepage
* [new branch] new_pictures -> origin/new_pictures
Gleich danach habe ich versucht, meine lokalen Änderungen an das zentrale Repo zu senden. Aus irgendeinem Grund wurden diese Zweige sowohl aus meinem lokalen System als auch aus dem zentralen Repo gelöscht:
~/myfolder> git push
Counting objects: 71, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (43/43), done.
Writing objects: 100% (49/49), 4.99 KiB, done.
Total 49 (delta 33), reused 0 (delta 0)
To git@github.com:mygiturl.git
- [deleted] contact_page
+ e8b68cc...731d1bb homepage -> homepage (forced update)
bb7e9f2..e0d061c master -> master
- [deleted] new_pictures
e38ac2e..bb7e9f2 origin/HEAD -> origin/HEAD
731d1bb..e8b68cc origin/homepage -> origin/homepage
e38ac2e..bb7e9f2 origin/master -> origin/master
* [new branch] origin/contact_page -> origin/contact_page
* [new branch] origin/new_pictures -> origin/new_pictures
Es ist nicht besonders einfach, die Zweige von ihrer Geburtsortmaschine zu entfernen, daher würde ich gerne versuchen, sie nach Möglichkeit von meinem lokalen Standort zu retten.
Alle von mir gegoogelten "Rückgängig" -Informationen müssen dazu führen, dass verlorene Commits wiederhergestellt werden. Ich denke nicht, dass dies hier zutrifft, da ich keine Commit-UIDs für diese Zweige habe.
Ich würde gerne wissen, wie ich diese zurückbekommen kann. Ich würde auch gerne wissen, wie sie überhaupt gelöscht wurden und wie ich dies in Zukunft vermeiden kann.
EDIT: auf Anfrage hier meine Repo-Konfiguration
user.name=Craig Walker
user.email=github@softcraft.ca
alias.unadd=reset HEAD
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=git@github.com:MyGitURL.git
remote.origin.mirror=true
branch.master.remote=origin
branch.master.merge=refs/heads/master
alias.undo=reset --hard
alias.test=push -f ci HEAD:master
alias.st=status
alias.ci=commit
alias.br=branch
alias.co=checkout
alias.ch=checkout
alias.df=diff
alias.lg=log -p
alias.who=shortlog -s --
remote.ci.url=ContinuousIntegrationGitURL
remote.ci.fetch=+refs/heads/*:refs/remotes/ci/*
branch.photo.remote=origin
branch.photo.merge=refs/heads/photos
remote.foo.url=FooGitURL
remote.foo.fetch=+refs/heads/*:refs/remotes/cynthia/*
branch.homepage.remote=origin
branch.homepage.merge=refs/heads/homepage
remote.origin.fetch
Referenz ist nicht für die Verwendung mit geeignet remote.origin.mirror = true
. Möchten Sie spiegeln oder möchten Sie das GitHub-Repo als normale Fernbedienung verwenden? Meine Antwort sollte die Befehle enthalten, die Sie so oder so benötigen.
git config -l
für das lokale Repository angezeigt?