git 文件回滚,比较差异命令拾遗

首先先再梳理下git仓库的组成,方便接下来命令的介绍。
在本地,git仓库分为三个部分,工作目录(workspace/working directory),暂存区(index/stage),和提交历史(local reposiotry/commit history/HEAD)
附图说明一般git提交流程,文件在这三个部分的流转

([add、commit、push、fetch、push、diff文件流转])

git reset命令

可对提交或者对文件操作

提交层面:git reset commitId

可令当前分支下提交历史的head指针回退到指定的commit节点

文件层面:

  1. git reset <file>:可令暂存区的指定文件修改移除掉(不影响工作目录)
  2. git reset <commitId> [file]:可令指定提交记录的指定文件恢复至暂存区

git checkout命令

可对提交或者对文件操作

提交层面:git checkout branchName

可令HEAD指针从当前分支切换到指定分支的最新提交

文件层面:git checkout <commitId> [file]

可令当前分支指定提交历史的文件还原至工作目录(不影响add到暂存区的修改)

git checkout 和git reset 的区别

git reset 会令提交历史丢掉

git revert

相比于reset,revert保留提交记录,可用于在公共分支上回退提交记录
revert只有提交层面的用途:git revert commitId

git diff

用于不同部分,不同分支比较文件的不同

比较工作目录与暂存区文件

git diff (不加参数)

比较暂存区和提交历史的文件

git diff –cached/staged

比较工作目录和提交历史的文件

git diff HEAD

比较两个分支的最新提交历史

git diff branch1 branch2

简要显示比较记录

git diff –stat

参考来源

  1. 代码回滚:git reset、git checkout和git revert区别和联系
  2. git diff命令详解
回滚单个文件,可以按照以下步骤进行操作: 1. 使用命令git checkout -- <文件名>,其中<文件名>是你想要回滚文件的名称。这将撤销对该文件的所有未提交的更改并将其恢复到最近的提交状态。 2. 如果你只是想撤销对文件的更改但不想删除文件,你可以使用git checkout HEAD -- <文件名>。这将还原文件到最近一次提交的状态。 3. 如果你想要彻底删除文件并取消git的跟踪,你可以使用git rm <文件名>命令,然后进行提交。这将从版本库中删除文件,并且git将停止跟踪该文件。 请注意,这些操作都会直接修改你的本地仓库。如果你想将更改推送到远程仓库,你需要使用git push命令将更改推送到远程仓库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [git 回滚操作](https://blog.csdn.net/u014659004/article/details/127155950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [git单个文件回滚](https://blog.csdn.net/weixin_43232423/article/details/124829440)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值