2011-06-10 154 views
12

远程存储库包含错误的版本。我有本地好版本的副本。我想用当前的存储库替换远程存储库上的所有内容(远程存储库有几个不应该发生的提交(包括合并))。使用我的存储库覆盖远程git存储库

如果我试着推,它告诉我我需要先拉,但我不想这样做,因为这会搅乱我的本地版本。我想远程回购包含我在本地的东西。

我该怎么做?

回答

41
+0

同样的事情:'! [远程拒绝] master - > master(非快速转发)' – rid 2011-06-10 17:53:58

+1

然后,如果远程仓库.git/config中的receive.denyNonFastForwards被拒绝,即使指定了“--force”,它也会拒绝它。 – Amber 2011-06-10 17:54:45

+0

您正在运行的确切命令是什么? – Amber 2011-06-10 18:00:06

1
  1. 从已知良好版本创建一个新的本地分支
  2. 切换到已知的不良分支
  3. 您的已知良好的分支完全合并到已知的不良分支
  4. 提交并推送

我通常使用这样的过程来保存到底发生了什么变化,有一个孤立的分支,这是一个已知的好副本等。与使用--force相比,它可能过度,但我更喜欢它。

+2

“合并”不起作用,因为良好的变化比坏的变化早,所以没有合并。 – rid 2011-06-10 17:56:00