如何恢复被删除的仓库和被删除的分支
How to recover the deleted repository and the deleted branch
请帮帮我!我犯了一个愚蠢的错误。当我按照这个 link: http://docs.openstack.org/infra/manual/developers.html
我创建了一个新分支并对 Gerrit 视图进行了更改。在一个愚蠢的时刻,我用命令删除了分支:git branch -D mybranch
然后我还删除了克隆到我计算机上的项目名称:sudo rm -rf projectname
(项目名称通过命令获取:git clone https://git.openstack.org/openstack/<projectname>
)
现在我想恢复项目名称以便继续进行更改。我看到 OpenStack gerrit 仍然显示已删除分支的更改。请帮我找回它。
谢谢
git branch -D mybranch
此命令删除本地分支(仍然可以恢复。我们稍后再讲 - 下一段)
sudo rm -rf projectname
OOPS
...您刚刚删除了存储库和本地数据以及已删除的分支(因此您无法再在本地恢复它)
What else can you do to recover it?
I see that OpenStack gerrit still displays the change for deleted branch
看起来您的远程存储库中有分支。
克隆项目,签出分支并继续您的工作。
# Clone the project
git clone <url>
# checkout the desired branch
git checkout <branch>
并且您拥有已提交(并推送)的最新代码您的本地更改已消失...
我是 OpenStack 的核心开发人员,这里有一个非常简单的解决方案,用于恢复 已上传但尚未批准 补丁,让我们举个例子:
我有一个补丁已经推送到gerrit:https://review.openstack.org/#/c/309710/
我的本地直接工作是:/opt/stack/aodh,分支名称是:fix-some-bug
然后出于某种原因我永久删除了工作目录,但是很容易恢复如果你有 gerrit 上的代码
cd /opt/stack && git clone https://github.com/openstack/aodh && cd aodh
现在,打开网络浏览器并转到 gerrit 网页,找到您的补丁:https://review.openstack.org/#/c/309710/,右上角有一个小下拉按钮,名为 "Download",单击它并选择第一个,结帐的,然后点击右侧的小黑按钮,它将url复制到你的粘贴板
现在,切换到你shellwindows,随便贴一下:
git fetch https://git.openstack.org/openstack/aodh refs/changes/10/309710/1 && git checkout FETCH_HEAD
您的补丁将被下载,您应该按照 shell 提示进行检查:git checkout -b fix-some-bug
以便您稍后切换到另一个分支而不会丢失您的代码
现在,你可以继续你的工作了,干杯!
PS: 将所有示例替换为您的真实示例
请帮帮我!我犯了一个愚蠢的错误。当我按照这个 link: http://docs.openstack.org/infra/manual/developers.html
我创建了一个新分支并对 Gerrit 视图进行了更改。在一个愚蠢的时刻,我用命令删除了分支:git branch -D mybranch
然后我还删除了克隆到我计算机上的项目名称:sudo rm -rf projectname
(项目名称通过命令获取:git clone https://git.openstack.org/openstack/<projectname>
)
现在我想恢复项目名称以便继续进行更改。我看到 OpenStack gerrit 仍然显示已删除分支的更改。请帮我找回它。
谢谢
git branch -D mybranch
此命令删除本地分支(仍然可以恢复。我们稍后再讲 - 下一段)
sudo rm -rf projectname
OOPS
...您刚刚删除了存储库和本地数据以及已删除的分支(因此您无法再在本地恢复它)
What else can you do to recover it?
I see that OpenStack gerrit still displays the change for deleted branch
看起来您的远程存储库中有分支。
克隆项目,签出分支并继续您的工作。
# Clone the project
git clone <url>
# checkout the desired branch
git checkout <branch>
并且您拥有已提交(并推送)的最新代码您的本地更改已消失...
我是 OpenStack 的核心开发人员,这里有一个非常简单的解决方案,用于恢复 已上传但尚未批准 补丁,让我们举个例子:
我有一个补丁已经推送到gerrit:https://review.openstack.org/#/c/309710/
我的本地直接工作是:/opt/stack/aodh,分支名称是:fix-some-bug
然后出于某种原因我永久删除了工作目录,但是很容易恢复如果你有 gerrit 上的代码
cd /opt/stack && git clone https://github.com/openstack/aodh && cd aodh
现在,打开网络浏览器并转到 gerrit 网页,找到您的补丁:https://review.openstack.org/#/c/309710/,右上角有一个小下拉按钮,名为 "Download",单击它并选择第一个,结帐的,然后点击右侧的小黑按钮,它将url复制到你的粘贴板
现在,切换到你shellwindows,随便贴一下:
git fetch https://git.openstack.org/openstack/aodh refs/changes/10/309710/1 && git checkout FETCH_HEAD
您的补丁将被下载,您应该按照 shell 提示进行检查:git checkout -b fix-some-bug
以便您稍后切换到另一个分支而不会丢失您的代码
现在,你可以继续你的工作了,干杯!
PS: 将所有示例替换为您的真实示例