Revert to a commit by a SHA hash in Git? [duplicat

2019-01-02 19:12发布

This question already has an answer here:

I'm not clear on how git revert works. For example, I want to revert to a commit six commits behind the head, reverting all the changes in the intermediary commits in between.

Say its SHA hash is 56e05fced214c44a37759efa2dfc25a65d8ae98d. Then why can't I just do something like:

git revert 56e05fced214c44a37759efa2dfc25a65d8ae98d

标签: git
9条回答
梦醉为红颜
2楼-- · 2019-01-02 19:39

If your changes have already been pushed to a public, shared remote, and you want to revert all commits between HEAD and <sha-id>, then you can pass a commit range to git revert,

git revert 56e05f..HEAD

and it will revert all commits between 56e05f and HEAD (excluding the start point of the range, 56e05f).

查看更多
深知你不懂我心
3楼-- · 2019-01-02 19:39

This might work:

git checkout 56e05f
echo ref: refs/heads/master > .git/HEAD
git commit
查看更多
查无此人
4楼-- · 2019-01-02 19:44

Should be as simple as:

git reset --hard 56e05f

That'll get you back to that specific point in time.

查看更多
登录 后发表回答