介绍
作为一个项目管理工具,Git 允许用户在提交到项目之前将一组更改排队。该队列称为索引,文件在提交之前可能会被删除。
如何在Git上取消暂存文件?本指南将向你展示如何从 git 中的暂存区中删除/取消暂存文件。
先决条件
- 现有的 Git 安装
- 一个 Git 项目
- 终端窗口/命令行
- Linux: 活动 > 搜索 > 终端
- Windows: 右键单击 开始 > 命令提示符(或 Windows PowerShell)
在 Git 上取消暂存所有文件
Git如何取消暂存文件?要从暂存索引中删除所有更改,请输入以下命令:
git reset
Git上取消暂存文件示例:这将从暂存区中删除所有更改。它不会删除任何文件——该git add
命令可用于将更改重新添加回暂存索引。
暂存索引位于 .git/index。它适合 Git 提交过程的中间部分:
- 在项目开发期间创建或修改文件
- 用户 通过使用 命令决定在索引中一起发布哪些更改
git add
- 用户 在名称和描述下提交这些更改
该 git reset
命令用于清除 索引并从头开始添加更改。
取消暂存单个文件或目录
Git如何取消暂存文件?该git reset
命令可以针对单个文件或目录。
例如,使用以下命令:
git reset location/of/file.ext
git reset directory/location
使用 .gitignore 文件
如何在Git上取消暂存文件?该.gitignore文件是可以添加到任何目录在项目中的文件。这是一个简单的文本文件,添加到其中的任何内容都不会暂存或包含在提交中。
使用文本编辑器在项目目录中创建 .gitignore文件。然后,编辑文件并添加要从提交中排除的资产的名称。
例如,开发日志文件通常不需要包含在提交中。这些可以按名称添加到.gitignore 文件中。
注意:除非有紧迫的原因,否则最好.gitignore
在项目的根目录中创建一个主文件。
取消暂存提交的文件
如何在Git上取消暂存文件?该 git reset
命令可以允许更改已提交的文件和目录。
取消提交的基本命令如下:
git reset [option] [commit]
在[option]
指定正在执行的复位类型。在[commit]
指定被重置的提交的名称。
注意:要取消最后一次提交,请使用HEAD~1
作为提交的名称:
git reset --mixed HEAD~1
Unstage 软提交
Git上取消暂存文件示例:使用以下命令执行软取消阶段:
git reset --soft [commit]
一个软复位具有以下作用:
- 更新 ref 指针
- 暂存索引未受影响
- 工作目录不变
注意:有关撤消 Git 提交的其他选项,请参阅Git Revert:如何撤消上次提交。
Unstage 硬提交
Git如何取消暂存文件?使用以下命令执行硬取消暂存:
git reset --hard [commit]
一个硬复位具有以下作用:
- 更新指向指定提交的 ref 指针
- 临时索引被重置以匹配指定的提交
- 工作目录被重置以匹配指定的提交
- 工作目录和暂存索引中的任何未决更改都将丢失
Git上取消暂存文件示例:混合非阶段选项
如何在Git上取消暂存文件?如果未指定选项,该git reset
命令将执行混合取消阶段:
git reset --mixed [commit]
或者
git reset [commit]
这有以下影响:
- 更新 ref 指针
- 将暂存索引重置为指定的提交
- 从暂存索引恢复的更改将移动到 工作目录
注意:硬重置经常使用,但如果使用不小心可能会导致工作丢失。
结论
你现在应该对如何在 Git 中取消暂存文件有了深入的了解。