Git相关¶
- checkout出工作目录
git reset --hard # 影响 HEAD、索引(add后的)和工作目录 git checkout . # 影响工作目录中的未提交更改
- 合并dev指定commit到master
git checkout dev git reset --hard abc1234 git checkout master git merge dev git push origin master 注意:不能使用 git checkout abc1234 替代 git reset --hard abc1234 1. git reset --hard abc1234: 这个命令会将当前分支(在您的例子中是 dev)的指针移动到指定的 commit(abc1234),并且会丢弃该 commit 之后的所有更改(包括暂存区和工作目录中的更改)。 结果是 dev 分支的历史将被重写,指向 abc1234,并且工作目录将与该 commit 的状态一致。 git checkout abc1234: 这个命令会将工作目录切换到指定的 commit(abc1234),但不会移动当前分支的指针。您将处于一个“分离头指针”(detached HEAD)状态。 在这种状态下,您不能直接在 master 分支上合并 dev 分支,因为 dev 分支的指针没有移动到 abc1234,而是仍然指向原来的 commit。