我错误地删除了我的一个git分支.有没有办法恢复它?
我使用以下命令:
$ git push :development
Run Code Online (Sandbox Code Playgroud)
我想恢复这个分支.我在主分支上,它没有显示任何删除命令运行:
$ git reflog
1b716a1 HEAD@{0}: checkout: moving from master to origin
1b716a1 HEAD@{1}: reset: moving to origin
91791dc HEAD@{2}: reset: moving to 91791dc
1b716a1 HEAD@{3}: checkout: moving from master to master
1b716a1 HEAD@{4}: pull: Merge made by the 'recursive' strategy.
91791dc HEAD@{5}: commit: Fix Total Label crash
198de6f HEAD@{6}: commit: Fix the Total Label crash
Run Code Online (Sandbox Code Playgroud)
你有另一个(最近足够的)存储库克隆吗?或者其他人是否有可以访问的克隆?(也许有人在github上分叉了).如果是这样,你可以从其他存储库推送分支,一切都应该没问题.
如果不这样做,事情会变得复杂一些.首先,如果您development最近在分支机构工作,它必须出现在HEAD reflog中 - 除非您手动过期了reflog(默认情况下是30天后过期的reflog条目).
如果你从未在分支机构本地工作(IOW:没有签出或提交),那么最后一次机会就可以得到它:使用git fsck --unreachable --lost-found然后检查所有报告的提交对象.当你找到正确的(旧提示),然后发出git branch development <hash of the commit>.在本地重新创建分支后,您可以再次将其推送到GitHub : git push origin development:development.
祝好运!
| 归档时间: |
|
| 查看次数: |
6845 次 |
| 最近记录: |