git-reset

2021/12/22 6:19:51

本文主要是介绍git-reset,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

摘要

git reset [-q] [<tree-ish>] [--] <pathspec>…
git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>…]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
DEPRECATED: git reset [-q] [--stdin [-z]] [<tree-ish>]

使用

git reset [<mode>] [<commit>]

重置到某提交,<mode>可以是--soft ,--mixed,--hard,--merge,--keep<commit>默认HEAD,可以是任意commit的哈希值。

命令功能

# 默认,reset index(重置整个暂存区)
# 等价于git reset --mixed HEAD
git reset

# undo commit(重置仓库区到前一个提交)
# soft(轻度的)
git reset --soft HEAD~1

# undo commit(重置仓库区到前一个提交),reset index(重置整个暂存区)
# mixed(适度的)
git reset --mixed HEAD~1

# undo commit(重置仓库区到前一个提交),reset index(重置整个暂存区),reset workspace(重置整个工作区)
# hard(重度的)
# 不使用或谨慎使用!
git reset --hard HEAD~1

命令测试

# 仓库区
commit3: 添加 c.txt
commit2: 添加 b.txt
commit1: 添加 a.txt

# 暂存区
c.txt: 第一行修改
b.txt: 第一行修改

# 工作区
c.txt: 第二行修改
a.txt: 第一行修改

git reset --soft HEAD~1

# 仓库区
commit2: 添加 b.txt
commit1: 添加 a.txt

# 暂存区
c.txt: 第一行修改
b.txt: 第一行修改

# 工作区
c.txt: 第二行修改
a.txt: 第一行修改

git reset --mixed HEAD~1

# 仓库区
commit2: 添加 b.txt
commit1: 添加 a.txt

# 暂存区

# 工作区
c.txt: 第一行、第二行修改
b.txt: 第一行修改
a.txt: 第一行修改

git reset --hard HEAD~1

# 仓库区
commit2: 添加 b.txt
commit1: 添加 a.txt

# 暂存区

# 工作区


  • 参考资料
    • Git:git-reset的用法总结 - chaiyu2002 - 博客园 (cnblogs.com)

  • 创建时间: ‎2021‎.12‎.21.2‎_22.02.29
  • 更新时间: 2021.12.22.3_01.54.02
  • 版权作者: 贝可考拉
  • 标签分类: #编程开发 #git
  • 索引编号: 344


这篇关于git-reset的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程