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