用新的本地副本替换Git存储库

时间:2015-02-24 16:45:08

标签: git

我有一个QA环境,其先前版本的转换后的hg存储库存储在git存储库中。出于测试目的,我需要重新运行转换(使用git-remote-hg)并将过去几周内所做的所有更改推送到我们的QA git环境。

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

1 个答案:

答案 0 :(得分:2)

你可以强迫推。

推送特定分支,

git push --force <remote> <branch>

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

git push --force

这将使用您的本地分支覆盖远程分支。

在运行命令之前,请注意您想要实现的目标。你将失去提交。

根据文档,

  

通常,该命令拒绝更新不是的远程引用   用于覆盖它的本地ref的祖先。此标志禁用   校验。这可能导致远程存储库丢失提交;用它   小心。

<强>更新

master分支进行强制推送后,您可以推送远程不存在的所有本地分支,

git push <remote> --all