Git: silinmiş (uzak) şube Kurtarmak
Ben bir şekilde bir itme sırasında silinmiş iki Gıt dalları kurtarmak için ihtiyacım var.
Bu iki dal farklı bir sistem oluşturulmuş ve sonra benim "" (github) depo. paylaşılan itti
Benim sistemimde, (görünüşe göre) bir getirme sırasında: dallar alınır
~/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
Ben hemen sonra Merkez repo kadar benim yerel değişiklikleri göndermek için bir itme yaptı. Nedense, bu dallar benim yerel ve merkezi repo hem silinmiş:
~/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
Mümkünse deneyin ve benim yerel onları kurtarmak istiyorum şubeleri doğum yeri kendi ekipman almak çok kolay değil.
Gıt tüm "geri al" var Google'da tarattım bilgileri kaydeder kayıp kurtarmak için. Burada geçerli olan, bu dallar için Uıds taahhüt olmadığı için sanmıyorum.
Bu nasıl geri alabileceğimi öğrenmek istiyorum. Ayrıca ilk etapta nasıl silinmiş ve gelecekte bunu önlemek nasıl bilmek istiyorum.
EDİT: istek üzerine, burada repo yapılandırması
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
CEVAP
Ben bir uzman değilim. Ama deneyebilirsiniz
git fsck --full --no-reflogs | grep commit
BAŞI silinmiş Şubesi taahhüt bulmak ve onları geri almak.
Rename master hem yerel hem de uzak Gi...
Çıkış uzak şube gıt kullanarak svn...
Uzak bir Git repo için yeni bir yerel ...
Varsayılan uzak şube için yapılandırıl...
git remote şube silinmiş ama hala ...