每天一命令 git reset

本文介绍如何使用Git的reset命令来撤销错误的提交,并详细解释了--hard、--mixed及--soft参数的区别。此外还介绍了如何通过文件名进行重置以及如何使用git reflog来追踪HEAD指针的变化。

在使用git的时候不免遇到commit的时候commit了错误的代码的时候,这时候就需要用到git的常用命令之一  reset了.

reset顾名思义为重置.重置的是HEAD指针,可以使HEAD指针移动到任意commit上.

使用git log [--oneline] 命令查看之前所有的commit id.然后使用git reset命令使HEAD指针指向其中的一个id.

git reset 有三个可选参数 --hard  --mixed  --soft  

其中--hard参数表示不但重置HEAD指针而且还会重置当前的暂存区和工作区,这个参数比较危险,会使当前工作区的内容丢失,并且是不可找回的丢失.

--mixed参数为默认参数.该参数会重置HEAD指针并且重置暂存区.但是对工作区却没有什么影响.

--soft参数表示只充值HEAD指针.不改变暂存区和工作区.

 

若重置了之后又后悔了,那么可以使用git reflog 命令查看最近的HEAD指针的变化.然后根据这里面的commit id 来确定git reset 的id.这样就不怕弄错了

 

git reset 后面不但可以接commit id 而且可以直接跟文件名称.

若reset后面跟的是文件名称那么将不会重置HEAD指针,而是重置这个文件.重置效果和commit id 一样.

转载于:https://www.cnblogs.com/monkeydai/p/6067869.html

<think>嗯,用户需要份常用的Git命令列表,而且提供了三篇参考资料。看起来用户可能是开发者或刚接触Git,想要个清晰的快速参考指南。之前系统指令要求用$...$格式行内公式,但Git命令里不需要数学表达式,这点可以直接忽略。用户给出的三个引用内容有些重复,比如gitpull/push在引用[1][2]都出现了,gitbranch在引用[1][3]都有提及。需要整合这些信息并补充常用但缺失的命令。注意到引用[3]有笔误“it本地库操作”应该是“git”,引用[2]提到.gitignore特性很重要但没列具体命令。用户没有说明使用场景,但结合“常用”这个关键词,应该覆盖日常开发流程:仓库初始化、分支管理、代码提交、远程同步。需要补充gitstatus和gitlog这两个高频命令——虽然引用里没提,但实际工作中几乎每天都会用。引用[2]提到.gitignore的机制很有趣,可以单独拎出来说明。全局配置和本地配置的路径差异也有必要保留,很多用户会困惑配置优先级。对于冲突处理,三个引用都没涉及gitmerge--abort,这个补救命令值得补充。关于引用文献的处理:每项说明末尾附的[^n]要准确对应,比如“快速合并”概念在引用[1][2]都出现过,但描述更完整的放在引用[1]。用户要求引用格式自然,所以像“.git/config[^2]”这样的标注就接在路径说明后面比较流畅。命令排列顺序要符合操作逻辑:先初始化再操作最后查看记录。分支管理类命令集中在起,gitcheckout切换和创建现在更推荐用switch/restore替代——这个新特性引用里没有,但应该提醒用户注意趋势。</think> 以下是常用的 Git 命令分类列表,整合了引用内容并补充常用场景(标注「*」为高频核心命令): --- ### 、仓库操作 1. **初始化与克隆** ```bash $ git init # 初始化本地仓库 $ git clone <远程地址> # 克隆远程仓库* ``` 2. **远程仓库关联** ```bash $ git remote add origin <远程地址> # 关联远程库(首次)* $ git remote -v # 查看关联的远程库 ``` --- ### 二、分支管理 1. **本地分支操作** [^3] ```bash $ git branch # 查看本地分支* $ git branch <分支名> # 创建新分支* $ git checkout <分支名> # 切换分支* $ git switch <分支名> # (新版Git推荐) 切换分支 $ git branch -d <分支名> # 删除分支 $ git branch -D <分支名> # 强制删除未合并分支 ``` 2. **远程分支操作** ```bash $ git push origin --delete <远程分支名> # 删除远程分支 $ git fetch --all # 获取所有远程分支信息* ``` --- ### 三、代码提交与同步 1. **提交变更** [^1][^2] ```bash $ git add <文件名> # 添加文件到暂存区* $ git add . # 添加所有修改文件 $ git commit -m "提交说明" # 提交到本地仓库* ``` 2. **远程同步** [^1] ```bash $ git push origin <分支名> # 上传代码到远程仓库* $ git pull origin <分支名> # 下载并合并远程代码* $ git fetch origin # 仅获取远程更新(不合并)[^1] ``` --- ### 四、状态与日志 ```bash $ git status # 查看工作区状态(必备)* $ git log # 查看提交历史* $ git log --oneline # 简洁版提交历史* $ git diff # 查看未暂存的修改 ``` --- ### 五、配置文件管理 [^2] ```bash $ git config --global user.name "用户名" # 设置全局用户名* $ git config --global user.email "邮箱" # 设置全局邮箱* $ cat ~/.gitconfig # 查看全局配置 $ cat .git/config # 查看本地仓库配置 [^2] ``` --- ### 六、特殊操作 1. **撤销与重置** ```bash $ git restore <文件名> # 撤销工作区修改(新版) $ git reset HEAD <文件名> # 取消暂存 $ git reset --hard HEAD^ # 回退到上个提交(危险!) ``` 2. **忽略文件配置** ```bash $ nano .gitignore # 编辑忽略规则文件(自动生效)[^2] ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值