脏/清洁工作目录是什么意思?

时间:2016-01-02 22:47:05

标签: git

来自Leoliger 2ed的Git版本控制,

  

将新文件添加到存储库后,git status指示   没有突出的,阶段性的变化可以承诺。

 $ git status
 # On branch master
 nothing to commit (working directory clean)
     

Git还会花时间告诉您您的工作目录是否干净,这意味着   工作目录中没有未知已修改文件,这些文件与   库中。

“已修改”文件是否与已修改但未提交的已跟踪文件相同? “跟踪文件”是指之前提交过的文件吗?

“未知”文件是什么意思?

忽略的文件是否不计算?

未跟踪但未被忽略的文件是否算作“未知”?

Btw,在Chacon的Pro Git中:

$ git status
On branch master
nothing to commit, working directory clean

这意味着你有一个干净的工作目录 - 换句话说,没有 跟踪和修改文件。

3 个答案:

答案 0 :(得分:5)

  

"修改"文件是否与已修改但未提交的跟踪文件相同?

是。当您对git正在跟踪的文件进行更改时,git会发现文件的当前状态与该文件的上次提交状态之间存在差异。在提交此文件之前,git status会将此文件显示为已修改,并且您的工作目录将变脏。

  

"跟踪文件"是指之前提交过的文件?

是。跟踪文件是git知道的文件。也就是说,您之前使用git add <file_name>git commit制作快照的文件。

  

&#34;未知&#34;档案意味着什

据我所知,没有&#34;未知&#34; git术语中的文件。我假设作者的意思是说这是目录中没有未跟踪的文件。如果有未跟踪的文件,git将显示如下内容:

nothing added to commit but untracked files present (use "git add" to track)

列出未被git跟踪的文件。

  

忽略的文件是否不计算?

忽略的文件是您明确告诉git您不想跟踪的文件。因此,如果您有一个名为.mysettings的文件,并且将.mysettings添加到项目的.gitignore文件中,那么git将永远不会打扰您#34;嘿,您的工作目录不干净,因为您在此处获得了此未跟踪.mysettings文件。&#34;当您运行git status命令时。

所以是的,你被忽略的文件确实有计数。如果他们没有被忽略而且没有被追踪,你的项目目录将永远不会被考虑&#34;清洁&#34;通过git。

  

未跟踪但未被忽略的文件是否计为&#34;未知&#34;?

我相信这是作者通过使用“#34; unknown&#34;”这个词来获得的。

因此,干净的工作目录是一个工作目录,其中包含:

  1. 没有未跟踪的文件。
  2. 目前不是git的跟踪文件索引的修改文件。

答案 1 :(得分:2)

  

&#34;修改&#34;文件是否与已修改但未提交的跟踪文件相同? &#34;跟踪文件&#34;是指之前提交过的文件?

  

忽略的文件是否不计算?

git命令在您明确说明之前不会影响被忽略的文件。

  

未跟踪但未被忽略的文件是否计为&#34;未知&#34;?

未跟踪但未被忽略只是简单地将文件保存在存储库中,以便其他协作者/贡献者可以获取这些文件,而不会跟踪这些文件中的更改。

(我不确定git中的未知文件是什么)

答案 2 :(得分:1)

正如您所发现的那样 - 基本上它意味着没有未跟踪的文件或没有要提交的文件。

忽略或提交所有文件

  

“已修改”文件是否与已修改但未提交的已跟踪文件相同?

是的,但您可以使用git add -p,这样您的文件就可以同时修改和暂存。

  

“跟踪文件”是指之前提交过的文件吗?

确切地说,跟踪文件是git具有关于它们(已提交)的历史记录的文件

  

忽略的文件是否不计算?

不,他们被忽略了......

  

“未知”文件是什么意思?

在git中没有这样的东西,你有untracked个文件是git没有关于它们的历史的文件所以它们是untracked,git没有什么可以比较它们

  

untracked但未忽略的文件是否算作“未知”?

再次阅读上一段

enter image description here