一、git reset 和 git checkout
git reset [commit]
重置为[commit]所对应节点的提交(通过移动分支指针和HEAD指针实现),如果不指定[commit]则默认为HEAD
--soft 工作区和暂存区不变,重置仓库
--mixed 工作区不变,重置暂存区和仓库,此为默认选项
--hard 工作区、暂存区和仓库全部重置,修改完全丢失
git reset [commit] [file]
重置某个commit的指定文件到暂存区(指定了[file],不会移动分支指针和HEAD指针)
备注:如果不指定[commit]则默认为HEAD,如果参数都不指定则重置暂存区所有文件
git checkout [file]
重置暂存区的指定文件到工作区
git checkout [commit] [file]
重置某个commit的指定文件到暂存区和工作区
[commit]:可以为SHA-1值、HEAD,而HEAD~表示HEAD的父节点,HEAD~2表示HEAD的父节点的父节点,以此类推
二、git revert
git revert [commit]
用[commit]所对应节点的提交,创建一个新的反转的提交
三、git fetch 和 git pull
git fetch 仅更新origin\master分支,需要手动merge
git pull 更新origin\master分支和当前分支,相当于fetch+merge
原文地址:https://www.cnblogs.com/darknebula/p/8732995.html
时间: 2024-10-29 19:08:56