Git - 意外地推到上游而不是我的分支

时间:2016-05-05 21:28:48

标签: git github

我是git的新手。我想将我的数据推送到我的分支,但我将其推送到上游/主分支。我希望恢复推动。有什么办法吗?

感谢任何帮助。

3 个答案:

答案 0 :(得分:10)

在本地恢复并推送您的还原

git revert <commit_id>
git push upstream/master

如果您与上游代表团队合作,这比删除您的历史记录要好。如果您进行硬重置和强制推送,最终可能会被其他人删除其他提交。最好只回滚您的更改并在团队历史记录中显示。

答案 1 :(得分:4)

git checkout -b myfeaturebranch
git checkout master
git reset --hard HEAD~1
git push --force

执行以下操作:

  1. 使用您提交的提交创建一个新的本地分支
  2. 回到主分会
  3. 将提交指针重置为一次提交
  4. 按下重置,从远程
  5. 中删除提交

    这里的危险是,如果其他人从主人那里撤出,那些提交将会丢失。在这种情况下,您将要使用revert而不是reset,它会将重置记录为提交历史记录的一部分。

    git checkout -b myfeaturebranch
    git checkout master
    git revert HEAD~1
    git push
    

答案 2 :(得分:0)

我也面临同样的情况!

  1. git恢复
  2. 取消暂存源树或其他文件中的选定文件
  3. git reset --soft HEAD〜1

这可以将您工具中的主更改重置为“树”。