通过重置和强制推送回滚更改

时间:2017-03-31 05:58:01

标签: git github

我在这里看过类似的话题,但我没有找到明确的答案。

我已经提交并在远程分支上进行了一些更改,但这是一个错误,并希望将此分支重置为几天前的状态。 (使用源树顺便说一句)

- bad pushed commit
- bad pushed commit
- bad pushed commit
- place i want to return to
- older commits

如果我对我想要返回的地方进行硬重置,然后强制推动它。这样做会有什么问题吗?

3 个答案:

答案 0 :(得分:0)

你可以试试这个

git reset HEAD~

或重置为特定提交

git reset --hard <commit-hash>
git push -f origin master

或git的更多信息

请点击此链接: - https://git-scm.com/docs/git-reset

答案 1 :(得分:0)

实际上,避免合并冲突(当其他人正在处理同一个仓库时)的最​​佳方法是git revert <SHA>这些提交。它不会及时返回并重写历史记录,但会创建所述提交的“反向”版本。

  

git revert将创建一个与给定SHA相反(或反向)的新提交。如果旧提交是“重要”,则新提交是“反事项” - 旧提交中删除的任何内容都将添加到新提交中,旧提交中添加的任何内容都将在新提交中删除。

Find more info here

答案 2 :(得分:0)

这将解决它,但你必须警惕其他协作者在这些错误提交之上所做的更改。

git reset HEAD~3 --hard
git push -f origin <branch-name>