푸시 중에 삭제 한 두 개의 Git 브랜치를 복구해야합니다.
이 두 브랜치는 다른 시스템에서 생성 된 다음 "공유"(github) 저장소로 푸시되었습니다.
내 시스템에서 나는 (분명히) 가져 오는 동안 분기를 검색했습니다.
~/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
그 직후 나는 로컬 변경 사항을 중앙 저장소로 보내도록 푸시했습니다. 어떤 이유로 이러한 분기는 내 로컬 시스템과 중앙 저장소 모두에서 삭제되었습니다.
~/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
출생지 기계에서 가지를 제거하는 것은 그리 쉬운 일이 아니므로 가능한 한 내 지역에서 분기를 복구하고 싶습니다.
내가 검색 한 모든 git "undo"정보는 손실 된 커밋을 복구하는 데 필요합니다. 이 분기에 대한 커밋 UID가 없기 때문에 여기에 적용되지 않는다고 생각합니다.
이걸 어떻게 되 찾을 수 있는지 알고 싶습니다. 또한 처음에 삭제 된 방법과 향후이를 방지 할 수있는 방법도 알고 싶습니다.
편집 : 요청에 따라 여기에 내 저장소 구성이 있습니다.
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
git config -l
로컬 저장소에 대해 무엇을 표시합니까?