如何从本地恢复Git裸存储库

Ale*_*lex 3 git restore

这是最初的情况:

  • 远程服务器上的裸Git存储库
  • 本地计算机上的开发Git存储库

然后远程服务器崩溃.

我一直在将更改提交到我的本地存储库,但在修复服务器之前我无法推送它们.在一天左右的时间内,很明显由于硬件问题导致服务器无法恢复,因此远程存储库丢失.同时,我已经在我的本地存储库中做了几次提交.

现在我正在尝试恢复服务器上的存储库.

  1. 我将文件从我的本地.git文件夹复制到 c:\repositories\myproject
  2. 我跑git --git-dir=myproject config core.bare true命令

它看起来不错,但现在的问题是我在裸存储库中有两个分支,一个是master(崩溃时的服务器分支),另一个是remote/origin(我的本地提交的新分支).

所以基本上我想推动未完成的提交来掌握和删除远程/原始分支,因为在裸存储库中不需要它.

我怎么做?

随意分享一个更好的方法来完成这样的任务.

mer*_*011 7

一种方法是完全彻底地重新初始化远程存储库,然后push从本地执行.

在服务器上,在裸存储库应该存在的目录中,执行

 git init --bare
Run Code Online (Sandbox Code Playgroud)

在客户端(本地存储库)上,设置新原点(如果已更改),然后推送到服务器,并再次设置跟踪.

git remote set-url origin <Remote_URL>
git push origin master
git branch --set-upstream-to=origin/master master
Run Code Online (Sandbox Code Playgroud)