Git – checkout、revert、reset

checkout

checkout是将HEAD指针移动到指定提交的操作。git checkout命令可以对提交或文件使用。对文件使用,将把文件内容更改为特定提交中的对应文件内容。

revert

revert是接受指定提交,并创建与指定提交相反的新提交的操作。git revert只能对提交使用,不能对文件操作。

reset

reset是接受指定提交,并重置环境(工作目录、暂存区、本地仓库),以匹配指定提交当时Git库状态的操作。reset可以在三种不同的模式中调用,这三种模式对应于工作目录、暂存区、本地仓库。

checkoutreset通常用于本地库或私有库的“撤消”操作。它们修改仓库的历史记录,当推送到远程仓库时会导致冲突。revert被认为是“公共撤消”的一种安全操作,因为它通过创建相反的新提交来撤销更改,不会覆盖旧的记录。

Git Reset vs Revert vs Checkout

下表总结了所有这些命令的最常见用例:

命令 范围 场景
git reset 提交 丢弃私有分支中的提交或未提交的更改
git reset 文件 Unstage文件
git checkout 提交 在分支之间切换或检查旧快照
git checkout 文件 丢弃工作目录中的更改
git revert 提交 撤消公共分支中的提交
git revert 文件 (N/A)


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载