多语种网站,全球最新数据消息,网站建设公司的发展前景,简述网站开发的工作流程文件的状态分类
Git 中文件的状态主要分为以下几种#xff1a; Untracked#xff08;未跟踪#xff09; 定义#xff1a;这些文件从未被 Git 跟踪过#xff0c;通常是因为它们是新创建的文件#xff0c;或者被 .gitignore 排除在外。 示例#xff1a;新创建的文件 new…文件的状态分类
Git 中文件的状态主要分为以下几种 Untracked未跟踪 定义这些文件从未被 Git 跟踪过通常是因为它们是新创建的文件或者被 .gitignore 排除在外。 示例新创建的文件 newfile.txt或者被 .gitignore 排除的文件 temp.log。 Tracked被跟踪 定义这些文件已经被 Git 添加到版本控制中Git 会记录它们的修改。 进一步分类 Unmodified未修改文件自上次提交后没有被修改。 Modified已修改文件自上次提交后被修改了但尚未添加到暂存区。 Staged已暂存文件被修改后通过 git add 添加到暂存区准备提交。 3. git ls-files 这个命令用于显示已经被跟踪的文件,包括加入暂存区和已经提交的.
在 Git 中文件的状态是指文件相对于 Git 仓库的当前情况。以下是一些常见的文件状态及其含义 未跟踪Untracked 这是新创建的文件或从其他位置复制过来的文件Git 还没有开始跟踪这些文件的更改。 这些文件不会出现在 git status 命令的 Changes to be committed 部分而是出现在 Untracked files 部分。 已修改Modified 文件已经被修改但还没有添加到暂存区。 这些文件出现在 git status 命令的 Changes not staged for commit 部分。 已暂存Staged 文件的修改已经被添加到暂存区准备在下一次提交时被保存到仓库历史记录中。 这些文件出现在 git status 命令的 Changes to be committed 部分。 已提交Committed 文件的更改已经被提交到本地仓库成为仓库历史记录的一部分。 提交后的文件不再出现在 git status 命令的输出中除非你再次修改它。
文件状态的切换 未跟踪Untracked- 已暂存Staged 使用 git add file 命令将未跟踪的文件添加到暂存区。 或者使用 git add . 命令将所有未跟踪的文件和已修改的文件添加到暂存区。 已修改Modified- 已暂存Staged 使用 git add file 命令将已修改的文件添加到暂存区。 已暂存Staged- 已修改Modified 使用 git reset file 命令将已暂存的文件从暂存区移除使其回到已修改状态。 已暂存Staged- 未跟踪Untracked 这种情况通常不会发生因为文件一旦被添加到暂存区Git 就开始跟踪它了。但是你可以使用 git rm --cached file 命令从暂存区和 Git 仓库中删除文件使其回到未跟踪状态。 已修改Modified- 未跟踪Untracked 这种情况也不会发生因为文件一旦被修改Git 就开始跟踪它了。但是你可以使用 git checkout -- file 命令将文件恢复到最后一次提交的状态或者使用 git rm file 命令从工作目录中删除文件。 已提交Committed- 已修改Modified 修改已提交的文件使其成为已修改状态。 已提交Committed- 未跟踪Untracked 删除已提交的文件使其成为未跟踪状态。
具体状态解释
Changes not staged for commit已修改但未暂存 状态Modified已修改 含义这些文件已经被 Git 跟踪即之前被添加到版本控制中但自上次提交后被修改了且尚未通过 git add 添加到暂存区。 示例 bash复制 git status 输出 复制 On branch main
Changes not staged for commit:(use git add file... to update what will be committed)(use git restore file... to discard changes in working directory)modified: README.md 这里README.md 是一个被跟踪的文件但它被修改了且尚未暂存。
Changes to be committed已暂存 状态Staged已暂存 含义这些文件已经被修改并且通过 git add 添加到了暂存区准备在下一次提交时被记录到版本历史中。 示例 bash复制 git add README.md
git status 输出 复制 On branch main
Changes to be committed:(use git reset HEAD file... to unstage)modified: README.md 这里README.md 已经被修改并暂存准备提交。
状态转换 从 Untracked 到 Tracked通过 git add 新文件 newfile.txt 是未跟踪的。 使用 git add newfile.txt 后文件进入暂存区Staged并开始被跟踪。 从 Tracked 到 Modified 文件 README.md 已经被跟踪。 如果你修改了 README.md但尚未运行 git add文件状态变为 Modified已修改但未暂存。 从 Modified 到 Staged 修改后的文件 README.md 处于 Modified 状态。 使用 git add README.md 后文件状态变为 Staged已暂存。 从 Staged 到 Committed 暂存区中的文件 README.md 通过 git commit 提交后文件状态变为 Committed已提交。
总结 Changes not staged for commit文件已经被跟踪Tracked但被修改后尚未暂存Modified。 Changes to be committed文件已经被跟踪Tracked并且修改后已经暂存Staged。 修改文件内容如果文件已经被跟踪修改文件内容后文件状态会从 Unmodified 变为 Modified。通过 git add 添加到暂存区后状态变为 Staged。