git 从本地仓库恢复服务器

git server recovery from local repo

我的 git 服务器和所有存储库意外损坏,我正在尝试将一切恢复正常。但是无论我怎么尝试,一些远程分支就是不恢复。

我的情况描述如下:

git branch -a

* master
  branch_1
  branch_2
  branch_3
  remotes/origin/HEAD -> origin/master
  remotes/origin/branch_1
  remotes/origin/branch_2
  remotes/origin/branch_3
  remotes/origin/branch_4
  remotes/origin/branch_5

我的本地仓库有一些从服务器克隆后创建的分支。其余的没有被触及。但是记录都在本地仓库中。 (可切换)

而且我试图将所有内容推送到新服务器。但是 "remotes/*" 下的所有记录都无法推送到新服务器。

知道如何将所有内容恢复到新服务器吗?

remotes 下的所有记录应该被推送:它们是远程跟踪分支,跟踪你之前拉取的内容。

只推送本地分支就足够了。

对于没有本地分支的远程跟踪分支,您可以为每个远程分支创建所述本地分支,并同时推送它们。
参见“Track all remote git branches as local branches”。
或者 (simpler):

for remote in `git branch -r | grep -v /HEAD`; do git checkout --track $remote ; done