Git撤销

git reset

场景一:从暂存移除变更

# 创建文件
touch a.md
# 变更加入暂存
git add a.md

# 从暂存移除变更
git reset
git status

场景二:取消提交,变更还在暂存区待提交

touch b.md
git add b.md
git commit -m "add b"

# 移除最近一次提交,变更退回到暂存区,文件本身不变
git reset --soft HEAD~1

场景三:取消提交,重暂存移除变更、文件b.md从文件夹删除。一切像未曾发生一样

touch b.md
git add b.md
git commit -m "add b"
git reset --soft HEAD~1

git revert

通过创建新的提交来“撤销提交”,换句话说并不是真的撤销,而是增加相反变更。

git revert HEAD~1
git revert 59f39a1

revert 更安全。

git checkout

临时切换到老的提交上,只是看看不做事。

git checkout HEAD~1
git checkout 59f39a1

 

posted @ 2021-03-17 17:54  曾经的点工  阅读(41)  评论(0编辑  收藏  举报