我与git状态合作并纠正我错误的地方
假设我有5个文件A,B,C,D,E
D,E
是新文件,A,B
我已更改,C
自上次提交以来的人数相同
现在从我的理解
D,E
在工作目录中 A,B
现在他们将在工作目录中被修改或者他们处于分阶段区域
当我没有添加git commit时,A,B
转到git目录或索引
如果我执行git add,那么D,E
转到上演区域
最后,如果我再次进行git提交,那么D,E
转到git目录或索引
我的步骤是正确的还是我理解错误
答案 0 :(得分:2)
您总是需要在提交之前进行添加。如果您提交而不进行任何更改,您将收到类似
的消息# On branch master
nothing to commit, working directory clean
这意味着暂存区域中没有任何内容可以提交。
当您添加当前目录时,对A
,B
的修改将添加到暂存区域,C
将保留在暂存区域之外,D
,E
完全添加(因为整个文件是对先前提交的修改)。在提交之前,将暂存区域视为放置所有更改的位置。
添加后提交时,最新版本的存储库现在包含A
,B
的更新版本以及新文件D
,E
。 Git将更改存储到一组文件而不是文件本身。 “提交”是对某一点进行的更改的快照。这些文件可以在任何提交时重建,方法是按照它们的顺序将更改应用到该提交。
答案 1 :(得分:0)
- 可以修改现有文件,创建新文件,所有这些更改都将在工作目录中。这些更改不会用于提交。 - 一旦用户使用命令" git add"来暂停在工作目录中完成的更改,那些文件将在暂存区域中并且将 可用于承认。 - 如果用户在暂存区域中添加了一个文件,然后再次修改了文件,那么只有在运行" git之前存在的那些更改才会添加"命令将可用于提交,而不是在" git add"之后完成的新更改。命令。如果用户需要合并 新修改的更改,然后文件需要使用" git add"在暂存区域中再次添加文件。命令。
工作区域和临时区域之间的区别显而易见的是,从上层推理来看,只有那些更改才能用于提交中的提交 区域而不是工作区域的变化。用户可以在工作区域内完成所有工作,创建,编辑,删除和组织文件 需要提交修改过的文件,需要使用" git add"将这些文件带到暂存区域。命令,只会生成那些文件 可用于提交。