reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区 reset --soft会在重置HEAD和branch时,保留工作目录和暂存区中的内容,并把重置HEAD所带来的新的差异放进暂存区。 什么是「重置HEAD所带来的新的差异」?就是这里: 由于HEAD从 4 移动到了 3,而且在 reset 的过程中工作目录和暂存区的内容...
05f5ff9 HEAD@{4}: commit: 第2次提交,新增内容:readme.txtfilev2 75b4466 HEAD@{5}: commit (initial): 第1次提交,创建readme.txt文件 # 使用git reflog命令,可以看到全部的历史版本记录。 提示:我们可以通过git reset --soft命令,回退到第4次提交。 执行命令:$ git reset --soft 2c4401f 也会生成...
使用--soft,回退后提交的更改会保留在暂存区中(git status会显示已暂存的文件)。 可以直接重新提交: git commit -m "新的提交信息" 1. 2.git reset --mixed示例 场景: 提交了一些更改,但发现有文件不应该被包含在提交中,想重新选择提交的文件。 操作: git reset --mixed HEAD~1 1. 解释: HEAD~1表示回...
git commit 之后就是HEAD。如果代码修改了之后进行git add 操作,然后git commit,那么所有三者(HEAD,INDEX(STAGING),WORKING COPY)都是相同的状态,内容相同。 二、reset soft(更改HEAD)(恢复git commit的操作) 软重置。本来origin的HEAD和本地的HEAD一样,如果你指定--soft参数,Git只是单纯的把本地HEAD更改到你指定...
git reset 命令语法格式如下: git reset[--soft|--mixed|--hard][HEAD] --mixed为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。 git reset[HEAD] 实例: $ git reset HEAD^# 回退所有内容到上一个版本$ git reset HEAD^hello.php# 回退 hello.php...
git reset --soft HEAD命令的基本作用: git reset --soft HEAD命令用于重置当前HEAD到指定状态(在这个例子中是当前的HEAD本身,即没有实际改变HEAD的位置),但不做任何工作区(working directory)或暂存区(staging area)的更改。这意味着所有从上一个提交(commit)到当前工作目录中的更改仍然保留在暂存区中,仿佛这些...
git reset --hard HEAD^ 回退到指定版本号(以1a2b3c为例)的版本: git reset --hard 1a2b3c --hard 会清空工作目录和暂存区的改动, --soft则会保留工作目录的内容,并把因为保留工作目录内容所带来的新的文件差异放进暂存区。 --mixed 参数。git reset 如果不加参数,那么默认使用 --mixed 参数。此时表示要...
1、git reset --soft回退当我在V4版本的时候,执行命令回退到V3版本。Git中发生的变化如下图:依据上图,理解一下发生的事情:本质上就发生了,把HEAD指针指向了V3版本。而工作区和暂存区中的readme.txt文件是没有做任何变动的。所以你查看本地版本库中的文件是V3版本,工作区和暂存区中的文件是V4版本。就等于...
在Git中进行版本回退需要使用git reset命令。以前面文章中的示例为例,当我准备在V4版本,回退到V3版本的时候,分支中的提交和工作目录中文件的状态,如下图所示:我们分别执行了三种回退方式:git reset --soft HEAD^:温柔的回退。 git reset --mixed HEAD^:中等回退。 git reset --hard HEAD^:强硬的回退。
git reset --soft HEAD^ 那么除了HEAD和它所指向的branch1被移动到HEAD^之外,原先HEAD处commit的改动(也就是那个laughters.txt文件)也会被放进暂存区: git status 使用git reset --soft HEAD^后 这就是--soft和--hard的区别:--hard会清空工作目录和暂存区的改动,*而--soft则会保留工作目录的内容,并把因为...