Tôi cần khôi phục hai nhánh Git mà tôi đã xóa bằng cách nào đó trong một lần đẩy.
Hai nhánh này được tạo trên một hệ thống khác nhau và sau đó được đẩy đến kho lưu trữ "chia sẻ" (github) của tôi.
Trên hệ thống của tôi, tôi (dường như) đã truy xuất các nhánh trong quá trình tìm nạp:
~/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
Ngay sau đó, tôi đã thực hiện một nỗ lực để gửi các thay đổi cục bộ của mình lên kho trung tâm. Vì một số lý do, các nhánh này đã bị xóa khỏi cả hệ thống cục bộ của tôi và đại diện trung tâm:
~/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
Thật không dễ dàng gì để lấy các nhánh ra khỏi cỗ máy nơi sinh của chúng, vì vậy tôi muốn thử khôi phục chúng từ địa phương của mình nếu có thể.
Tất cả thông tin git "hoàn tác" mà tôi đã googled liên quan đến việc khôi phục các cam kết bị mất. Tôi không nghĩ rằng điều đó áp dụng ở đây, vì tôi không có UID cam kết cho các nhánh này.
Tôi muốn biết làm cách nào để lấy lại những thứ này. Tôi cũng muốn biết cách chúng bị xóa ngay từ đầu và cách tôi có thể tránh điều này trong tương lai.
CHỈNH SỬA: theo yêu cầu, đây là cấu hình repo của tôi
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
hiển thị cho kho lưu trữ cục bộ?