【问题标题】:cant git push or git pull不能 git push 或 git pull
【发布时间】:2014-03-09 10:36:57
【问题描述】:

我对 git 比较陌生。我在一个名为 temp 的分支上,这是我新创建的。我做了 3 次提交并推送。然后我重置回第二次提交并进行了一些更改。

git pull 给我:

你让我拉,但没有告诉我你想合并哪个分支 配置文件中的'branch.temp.merge' 也不告诉我。请指定您要在哪个分支上使用 命令行并重试(例如'git pull'

git push 给我:

! [拒绝] temp -> temp(非快进)错误:未能 将一些参考推送到“https://myserver.com/git/project”以防止您 由于丢失历史记录,非快进更新被拒绝 合并 在再次推送之前进行远程更改(例如“git pull”)。见'注 关于 'git push --help' 的 fast-forwards' 部分的详细信息。

我实际上想删除我已经推送的第三次提交,并在重置为第二次提交后推送我所做的最新提交。我该怎么做?

【问题讨论】:

    标签: git version-control


    【解决方案1】:

    我想在前面加上使用强制选项-f 时要非常小心。更改远程存储库的历史记录是一件坏事。请参阅 this answer 了解强制推送的解决方法。

    话虽如此,如果您是唯一从远程存储库中拉取的人,并且如果您绝对不关心已经推送的第三次提交,则可以进行强制推送。我假设当您签出第二次提交时,您将本地分支更新为该提交。 请注意,您将永远丢失远程存储库中的第三次提交。

    git push -f <repo> <branch>(例如:git push -f origin master)

    当然,如果您的本地分支名称与远程分支名称匹配。如果没有,你会这样做:

    git push -f <repo> <local branch>:<remote branch>

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2017-03-09
      • 2021-09-12
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多