git对比与回退

  1. 工作区:你在工作区中编辑文件。
  2. 暂存区:使用 git add 将要提交的文件添加到暂存区。
  3. 版本库:使用 git commit 将暂存区的文件快照保存到版本库

舍弃当前工作区的更改

1、一个文件

git checkout -- 
git checkout -- path/to/your/file.txt

放弃所有未提交的更改,但是会同时舍弃工作区和暂存区的修改

2、所有的

  • 不可逆操作:执行 git reset --hard 后,你所有的未提交更改都会丢失。确保你真的不需要这些更改或者已经将其备份。

  • 影响暂存区和工作区:这个命令不仅恢复工作区的文件,也会将暂存区中的文件恢复到最近一次提交的状态。

    git reset --hard

舍弃暂存区的更改

如果你只是想取消暂存区中的更改,但保留工作区的更改,可以使用:

git reset HEAD 

或者取消所有暂存的更改:(我感觉这里用处不大,这里还不如直接拿git add .全部冲刷了)

git reset HEAD

这将把暂存区的更改撤销,但保留工作区的更改。


git diff 是用来比较Git版本库中不同快照之间的差异。默认情况下,git diff 比较的是工作目录中的文件和暂存区(即索引)中的文件。如果你对 git diff 命令提供不同的参数,可以比较不同的区:

  1. 工作目录与暂存区:默认情况下,git diff 比较的是工作目录中修改但还未暂存的文件与暂存区中的文件。

    git diff
  2. 暂存区与最新提交:通过使用 --cached--staged 选项,可以比较暂存区中的文件和最新提交(HEAD)之间的差异。

    git diff --cached
    git diff --staged
  3. 工作目录与最新提交:通过提供 HEAD 参数,可以比较工作目录中的文件和最新提交之间的差异。

    git diff HEAD
  4. 两个提交之间的比较:你可以比较两个提交之间的差异,指定两个提交的哈希值或分支名称。

    git diff commit1 commit2
  5. 特定文件的比较:你还可以比较特定文件在两个不同快照(提交)之间的差异。

    git diff commit1 commit2 -- path/to/file

通过使用这些不同的选项和参数,git diff 提供了非常灵活的方式来比较不同版本之间的差异。


git reset --hard fe8d9f1

能直接返回,目前的暂存区域都没了,git log里面都回退都没了

要还想看原来的

git reflog

显示差不多这样:

$ git reflog
9e18a4e (HEAD -> master) HEAD@{0}: reset: moving to 9e18a4e
fe8d9f1 HEAD@{1}: reset: moving to fe8d9f1
9e18a4e (HEAD -> master) HEAD@{2}: reset: moving to 9e18a4e
fe8d9f1 HEAD@{3}: commit: 已经能靠左,但是好像6个没有对 
应
2a6f124 HEAD@{4}: commit: 快捷提交
9e18a4e (HEAD -> master) HEAD@{5}: commit (initial): 快 
捷提交
git reset --hard

也能够删除当前的没有提交的“暂存”区

git branch 
git checkout <new-branch-name>

   转载规则


《git对比与回退》 plumbum 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Rewrite-The-Stars论文笔记 Rewrite-The-Stars论文笔记
结合gpt简单整理一下,随便拿kitti初步试了以下效果还不错,参量不多效果还过得去。 1. 摘要• 核心贡献:提出star operation(逐元素乘法)能够将输入映射到高维非线性特征空间(类似核技巧),无需增加网络宽度。• StarN
2025-01-18
下一篇 
使用FRP内网穿透+公网服务器自建远程桌面 使用FRP内网穿透+公网服务器自建远程桌面
Cooperrate with YT一.准备事项如题,需要自己搭建远程桌面服务,我们需要一台有公网IP的服务器和一个内网穿透软件。因为国情原因,我们大部分设备是没有公网IP的,这就意味着,如果我们需要在除了家庭内网外的环境下访问自己的电脑,
2024-04-04