来自Leoliger 2ed的Git版本控制,
在将新文件添加到存储库后,git status表示没有要提交的未完成的暂存更改.
$ git status # On branch master nothing to commit (working directory clean)Git还花时间告诉您工作目录是干净的,这意味着工作目录没有未知或修改过的文件与存储库中的文件不同.
"已修改"文件是否与已修改但未提交的已跟踪文件相同?"跟踪文件"是指之前提交的文件吗?
"未知"文件是什么意思?
忽略的文件不计算在内吗?
未跟踪但未被忽略的文件是否算作"未知"?
顺便说一句,在Chacon的Pro Git中:
$ git status On branch master nothing to commit, working directory clean
这意味着您有一个干净的工作目录 - 换句话说,没有 跟踪和修改过的文件.
"已修改"文件是否与已修改但未提交的已跟踪文件相同?
是.当您对git正在跟踪的文件进行更改时,git会发现文件的当前状态与该文件的上次提交状态之间存在差异.在提交此文件之前,将此文件git status
显示为已修改且您的工作目录将变脏.
"跟踪文件"是指之前提交的文件吗?
是.跟踪文件是git知道的文件.也就是说,您之前使用git add
和创建快照的文件git commit
.
"未知"文件是什么意思?
据我所知,git术语中没有"未知"文件的概念.我假设作者的意思是说这是目录中没有未跟踪的文件.如果有未跟踪的文件,git将显示如下内容:
nothing added to commit but untracked files present (use "git add" to track)
列出未被git跟踪的文件.
忽略的文件不计算在内吗?
忽略的文件是您明确告诉git您不想跟踪的文件.所以,如果你有一个被调用的文件.mysettings
并且你添加.mysettings
到项目的.gitignore
文件中,git将永远不会打扰你说"嘿,你的工作目录不干净,因为你在.mysettings
这里有这个未跟踪的文件." 当您运行该git status
命令时.
所以,是的,您忽略的文件确实有计数.如果它们没有被忽略而且没有被跟踪,那么你的项目目录永远不会被git视为"干净".
未跟踪但未被忽略的文件是否算作"未知"?
我相信这是作者通过使用"未知"这个词得到的,是的.
所以一个干净的工作目录是一个工作目录,它具有:
没有未跟踪的文件.
没有修改过的文件,这些文件当前是git跟踪文件索引的一部分.