教程 > Git 教程 > Git 仓库操作 阅读:1155

Git add 将修改添加到暂存区

Git 有一个额外的保存机制,称为“ stash ”。stash 是一个临时存储区域,用于存储尚未准备好提交的更改。

git add命令将工作目录中的更改添加到暂存区。它告诉 Git 我们希望在下一次提交中包含对特定文件的更新。但是,git add并不会以任何的方式真正影响仓库 。直到运行git commit命令后才会真正对仓库进行了修改。

工作原理

git addgit commit 命令组成了基本Git的工作流程。这是每个 Git 用户都需要了解的两个命令,不管其团队的协作模式是怎样的。它们是将项目版本记录到仓库历史记录中的方法。

开发项目围绕基本的编辑/暂存/提交模式。首先,在工作目录中编辑文件。当准备好保存项目当前状态的副本时,就可以使用git add命令。在对暂存快照感到满意后,可以使用 git commit 命令将其提交到项目历史记录中。git reset 命令用于撤消提交或暂存的快照。

除了git add和 之外git commit,第三个命令git push 对于完整的 Git 协作工作流也是必不可少的。git push 用于将提交的更改发送到远程仓库。这使得团队的其他成员能够访问一组已保存的更改。

Git 保存提交更改
Git 保存提交更改

我们不应该将 git add 命令和svn add命令混淆。svn add是每次都将文件添加到仓库中去。而 git add 只是添加到暂存区。git add命令在每次修改文件之后都需要被调用,而 svn add 仅需要调用一次。

暂存区

git add命令的主要功能是将工作目录中的更改添加到git的暂存区域。暂存区是 Git 更独特的功能之一。我们可以将其视为工作目录和项目历史记录之间的缓冲区。

该阶段不必提交自上次提交以来所做的所有更改,而是可以将相关更改分组到高度集中的快照中,然后再将其提交到项目历史记录中。这意味着我们可以对不相关的文件进行各种编辑,然后返回并将其拆分为逻辑提交,方法是将相关更改添加到暂存区并逐段提交。与任何版本控制系统一样,创建原子提交非常重要,这样可以轻松地跟踪bug并恢复更改,而对项目其余部分的影响最小。

所谓原子提交是指每次提交的更改都是一个独立的功能修改,一次提交的修改不要 包含两个功能或bug修改。

常用选项

git add 命令一次可以添加一个文件,也可以添加一个目录。

git add <file>

<file>为下一次提交暂存所有更改的文件。

git add <directory>

<directory>为下一次提交暂存所有更改所在的目录。

git add -p

开始一个交互式暂存会话,让您选择要添加到下一次提交的文件部分。

Git-暂存区交互会话

我们可以看到会话中显示提示我们输入的命令都有哪些

  • y - 暂存块
  • a - 添加
  • n - 忽略块
  • e - 手动编辑块
  • q - 退出

或者使用另一种交互模式

$ git add -i

Git-add交互模式

示例

当开始一个新项目时,要创建当前目录的初始提交,可以使用以下两个命令:

$ git add .
$ git commit

一旦项目启动并运行,就可以通过将路径传递给 git add 来添加新文件:

$ git add hello.txt
$ git commit

上述命令还可用于记录对现有文件的更改。

Git 不会区分新文件中的暂存更改与已添加到存储库中的文件中的更改。

查看笔记

扫码一下
查看教程更方便