无法区分git临时区域,工作区域

时间:2013-12-12 02:41:09

标签: git version-control

我与git状态合作并纠正我错误的地方

假设我有5个文件A,B,C,D,E

D,E是新文件,A,B我已更改,C自上次提交以来的人数相同

现在从我的理解

  1. C位于Git目录或存储库
  2. D,E在工作目录中
  3. A,B现在他们将在工作目录中被修改或者他们处于分阶段区域

  4. 当我没有添加git commit时,A,B转到git目录或索引

  5. 如果我执行git add,那么D,E转到上演区域

  6. 最后,如果我再次进行git提交,那么D,E转到git目录或索引

  7. 我的步骤是正确的还是我理解错误

2 个答案:

答案 0 :(得分:2)

您总是需要在提交之前进行添加。如果您提交而不进行任何更改,您将收到类似

的消息
# On branch master
nothing to commit, working directory clean

这意味着暂存区域中没有任何内容可以提交。

当您添加当前目录时,对AB的修改将添加到暂存区域,C将保留在暂存区域之外,DE完全添加(因为整个文件是对先前提交的修改)。在提交之前,将暂存区域视为放置所有更改的位置。

添加后提交时,最新版本的存储库现在包含AB的更新版本以及新文件DE。 Git将更改存储到一组文件而不是文件本身。 “提交”是对某一点进行的更改的快照。这些文件可以在任何提交时重建,方法是按照它们的顺序将更改应用到该提交。

答案 1 :(得分:0)

- 可以修改现有文件,创建新文件,所有这些更改都将在工作目录中。这些更改不会用于提交。 - 一旦用户使用命令" git add"来暂停在工作目录中完成的更改,那些文件将在暂存区域中并且将 可用于承认。 - 如果用户在暂存区域中添加了一个文件,然后再次修改了文件,那么只有在运行" git之前存在的那些更改才会添加"命令将可用于提交,而不是在" git add"之后完成的新更改。命令。如果用户需要合并 新修改的更改,然后文件需要使用" git add"在暂存区域中再次添加文件。命令。

工作区域和临时区域之间的区别显而易见的是,从上层推理来看,只有那些更改才能用于提交中的提交 区域而不是工作区域的变化。用户可以在工作区域内完成所有工作,创建,编辑,删除和组织文件 需要提交修改过的文件,需要使用" git add"将这些文件带到暂存区域。命令,只会生成那些文件 可用于提交。