2015-02-24 60 views
0

我有一个QA环境,它具有存储在git存储库中的旧版hg存储库。为了进行测试,我需要重新运行转换(使用git-remote-hg)并将过去几周所做的所有更改推送到我们的QA git环境。用新的本地副本替换Git存储库

如果我需要的所有历史记录都在本地副本中,如何在不删除远程存储库的情况下使用本地备份替换整个远程存储库?

回答

2

您可以强制推送。

为推动特定分支,

git push --force <remote> <branch> 

要推两端具有相同名称的所有分支(如果push.default设置为matching

git push --force 

这将覆盖远程分支与您当地的分支机构。

在运行命令之前要小心你想实现的目标。你将失去提交。

作为每文档,

通常,命令拒绝更新远程REF不是用来覆盖它的本地REF的 祖先。该标志禁用 检查。这会导致远程存储库丢失提交;小心使用它 。

UPDATE

的力推是为master分支完成后,你可以把所有的地方分支机构是不是有远程的,

git push <remote> --all 
+0

如果在远端我只有遥控器/起源/主控,但在本地我有主控加几个其他分支,我如何获得额外分支推送到远程? – 2015-02-24 19:47:08

+0

'git push origin --all'应该这样做。 – pratZ 2015-02-24 19:55:00