git基础指令总结持续更新之 git reset 回退版本的三种模式以及git diff 使用场景和选项

发布于:2024-07-08 ⋅ 阅读:(50) ⋅ 点赞:(0)

继续更新git基础操作指令

有关git的功能介绍,软件下载以及安装,基本git add, git commit等命令使用方法均已经更新在 https://editor.csdn.net/md/?articleId=140135264 这篇分享中。承接上一篇分享 ,继续更新:

git reset 回退版本的三种模式

git reset 是一个用于撤销提交的命令,它可以将当前分支的 HEAD 指针移动到指定的状态,但不会影响工作目录中的文件。git reset 有三种主要模式:

–soft

这个模式会将 HEAD 指针移动到指定的提交,但不会影响索引(即暂存区)和工作目录。这意味着所有的更改都会保留在索引中,可以重新提交。
使用命令:git reset --soft <commit-hash>

–mixed

这是默认模式。它会将 HEAD 指针移动到指定的提交,并重置索引以匹配 HEAD,但不会改变工作目录。这意味着所有的更改都会从索引中移除,但仍然保留在工作目录中。
使用命令:git reset --mixed <commit-hash> 或简单地 git reset <commit-hash>

–hard

这个模式会将 HEAD 指针移动到指定的提交,并将索引和工作目录中的文件都重置为该提交的状态。这意味着所有的未提交的更改都会被删除。
使用命令:git reset --hard <commit-hash>

每种模式都适用于不同的场景,选择哪一种取决于你想要撤销的更改的范围和程度。使用 --hard 模式时需要特别小心,因为它会永久删除未提交的更改。我们针对上述详细内容做如下总结:

git reset --soft 不改变工作区 不改变暂存区
git reset --hard 改变工作区 改变暂存区
git reset --mixed 不改变工作区 改变暂存区

git diff 指令

git diff 是一个 Git 命令,用于显示提交、分支、标签或HEAD之间的差异。它可以用来查看工作目录中的文件与当前索引(暂存区)的差异,或者查看两个提交之间的差异。以下是一些常见的 git diff 使用场景和选项:

查看工作区与暂存区的差异:

命令:git diff
不加参数,这将显示工作目录中已修改但尚未暂存的文件与索引之间的差异。

查看暂存区与本地仓库的差异:

命令:git diff --cachedgit diff --staged
这将显示已暂存但尚未提交的更改。

查看工作区+暂存区与本地仓库的差异:

命令:git diff HEAD

查看两个提交之间的差异:

命令:git diff <commit1> <commit2>
这将显示从 到 之间的差异。
示例:git diff ef0fa20 8a0408a

查看当前分支的HEAD与另一个分支的差异:

命令:git diff <branch>
这将显示当前分支的HEAD与 分支之间的差异。

查看分支之间的差异:

命令:git diff <branch><branch>
这将显示两个分支之间的差异。

使用颜色显示差异:

命令:git diff --color
这将使用颜色来区分添加和删除的行。

查看差异的统计信息:

命令:git diff --stat
这将显示每个文件的差异统计信息。

查看差异的详细输出:

命令:git diff --word-diff
这将显示单词级别的差异。

以上就是关于git reset和git diff两个指令的全部内容了,如有误欢迎指出。

持续更新中


网站公告

今日签到

点亮在社区的每一天
去签到