修复被推送到github的错误拉动

时间:2015-01-14 16:57:14

标签: git github

我将一个公共github存储库分成一个私有的github存储库,并将代码克隆到多个服务器上。

今天我不小心从公共分支机构中取出了其中一个服务器,而不是私有服务器。我没有立即注意到我的错误并合并并将此污染的版本推送到github上的私有存储库。如何删除原始来源的所有提交,现在污染我们的分支。

我在SO上阅读并会

  1. 在其他服务器上重命名已使用的分支,该分支未更改。 (git branch -m 'clean'
  2. 删除github上的旧分支和本地服务器(git push private_repo --delete <old_branch>git branch -D <old_branch>
  3. 重新命名本地分支(git branch -m <old_branch> _)
  4. 将干净版本推送到github(git push private_repo <old_branch>
  5. 从提交中创建补丁,我在服务器上创建了补丁
  6. 删除本地分支(git branch -D <old_branch>)并从私人仓库中取出已清理的分支(git pull private_repo <old_branch>
  7. 这是正确的方法吗?是否有一个不那么复杂和安全的方式?

    [更新]

    我偶然发现了https://stackoverflow.com/a/448929/380038

    我可以这样做:

    1. git push -f private_repo <old_branch>来自其中一个未受污染的克隆
    2. 而不是5.和6.。

      他们在答案中写道,推力不会删除提交,只是移动指针。当我想稍后从原始公共github仓库中提取提交时,这会产生问题吗?

0 个答案:

没有答案