Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修复推到github的错误拉力_Git_Github - Fatal编程技术网

修复推到github的错误拉力

修复推到github的错误拉力,git,github,Git,Github,我将一个公共github存储库分叉为一个私有github存储库,并将代码克隆到几个服务器上 今天,我无意中在一台服务器上使用了来自公共fork而非私有fork的新更改。我没有立即注意到我的错误,合并并将这个受污染的版本推送到github上的私有存储库。我如何从原始来源删除所有正在污染我们分支的提交 我照样到处读,会的 重命名另一台服务器上使用的分支,这是不变的。(git分支-m'clean') 删除github和本地服务器上的旧分支(git push private\u repo--delete

我将一个公共github存储库分叉为一个私有github存储库,并将代码克隆到几个服务器上

今天,我无意中在一台服务器上使用了来自公共fork而非私有fork的新更改。我没有立即注意到我的错误,合并并将这个受污染的版本推送到github上的私有存储库。我如何从原始来源删除所有正在污染我们分支的提交

我照样到处读,会的

  • 重命名另一台服务器上使用的分支,这是不变的。(
    git分支-m'clean'
  • 删除github和本地服务器上的旧分支(
    git push private\u repo--delete
    git branch-D
  • 将本地分支重命名回(
    git branch-m
  • 将干净版本推送到github(
    git push private\u repo
  • 从我在服务器上创建的提交创建补丁,在服务器上我做了错误的拉取
  • 移除本地分支(
    git branch-D
    )并从私有回购中拉出已清理的分支(
    git pull private\u repo
  • 这条路对吗?有没有更简单更安全的方法

    [更新]

    我只是偶然发现

    我能做到:

  • git push-f private_repo
    来自一个未受污染的克隆
  • 而不是5。和6


    他们在答案中写道,push-force不会删除提交,只是移动一个指针。当我以后想从原始的公共github repo中提取提交时,这是否会产生问题?

    您可以要求您的一位同事强制将最新的dev副本推送到您的私人repo中。具体地说,如果你能在推送之前跟踪谁做了最新的提交,你可以让同一个开发者强制推送,然后你就可以开始了。谢谢,问题是,github上的主克隆被污染了。是的,我理解。让我们称之为主分支。我相信至少你的一些同事会拥有最新的廉洁大师?我有一个最新的廉洁分支的实例,见第1点。我还重写了介绍,希望现在能更好地理解。