如何在 Git 存储库中管理未跟踪文件

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Git 版本控制需要了解如何有效地处理未跟踪的文件。本全面教程将探讨未跟踪文件的基础知识,为开发者提供实用策略,以便无缝地识别、管理新文件并将其集成到 Git 工作流程中。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/rm("Remove Files") git/BasicOperationsGroup -.-> git/clean("Clean Workspace") git/DataManagementGroup -.-> git/restore("Revert Files") subgraph Lab Skills git/add -.-> lab-392729{{"如何在 Git 存储库中管理未跟踪文件"}} git/status -.-> lab-392729{{"如何在 Git 存储库中管理未跟踪文件"}} git/rm -.-> lab-392729{{"如何在 Git 存储库中管理未跟踪文件"}} git/clean -.-> lab-392729{{"如何在 Git 存储库中管理未跟踪文件"}} git/restore -.-> lab-392729{{"如何在 Git 存储库中管理未跟踪文件"}} end

理解未跟踪文件

什么是未跟踪文件?

在 Git 版本控制系统中,未跟踪文件是指存储库中的新文件,这些文件尚未添加到 Git 跟踪系统中。这些文件存在于你的项目目录中,但目前未被 Git 监控,这意味着它们不会被包含在版本控制中,也不会被跟踪更改。

未跟踪文件的核心特征

未跟踪文件具有几个关键特征,使其与已跟踪文件区分开来:

特征 描述
未被监控 当前未被 Git 跟踪的文件
无版本历史 更改未被记录或保存
默认被忽略 不包含在提交或版本控制中

识别未跟踪文件

## 检查存储库中的未跟踪文件
$ git status

## 显示未跟踪文件的示例输出
位于分支 main
未跟踪文件:
(使用 "git add <文件>..." 将其包含在将被提交的内容中)
newfile.txt
untracked_directory/

处理未跟踪文件的 Git 工作流程

graph TD A[创建新文件] --> B{Git 状态} B --> |未跟踪| C[文件未被监控] B --> |已添加| D[文件已暂存] D --> E[文件已提交]

当你在 Git 存储库中创建一个新文件时,它最初是一个未跟踪文件。要开始跟踪它,你必须使用 git add 命令显式添加该文件,这会将其移动到暂存区并为版本控制做好准备。

管理未跟踪文件

处理未跟踪文件的方法

Git 提供了多种策略来管理存储库中的未跟踪文件。了解这些方法有助于维护一个干净、有序的项目环境。

基本文件管理命令

命令 操作 描述
git status 列出未跟踪文件 显示存储库中所有未跟踪的文件
git clean 删除未跟踪文件 从工作目录中删除未跟踪的文件
git add 跟踪文件 将未跟踪的文件添加到版本控制中

删除未跟踪文件

## 试运行以预览将被删除的文件
$ git clean -n

## 强制删除未跟踪文件
$ git clean -f

## 删除未跟踪的文件和目录
$ git clean -fd

Git Clean 工作流程

graph TD A[未跟踪文件] --> B{Git Clean 命令} B --> |试运行 -n| C[预览删除] B --> |强制 -f| D[删除文件] B --> |带目录 -fd| E[删除文件和目录]

交互式文件管理

## 用于选择性文件删除的交互式模式
$ git clean -i

交互式模式允许精确控制要删除哪些未跟踪文件,提供了一种更安全的文件管理方法。

Git 最佳实践

有效的文件跟踪策略

实施强大的文件跟踪方法可确保在 Git 存储库中进行干净且高效的版本控制管理。

关键的 Git 配置实践

实践 命令 目的
创建.gitignore touch.gitignore 排除不必要的文件
全局配置 git config --global 设置一致的存储库设置
频繁提交 git commit 维护精细的版本历史记录

处理未跟踪和被忽略的文件

## 创建全局.gitignore
$ git config --global core.excludesfile ~/.gitignore_global

#.gitignore 配置示例
$ cat.gitignore
*.log
node_modules/
.env

Git 工作流程优化

graph TD A[新项目] --> B[初始化存储库] B --> C[创建.gitignore] C --> D[暂存文件] D --> E[提交更改] E --> F[推送到远程]

存储库管理命令

## 检查存储库状态
$ git status

## 列出已跟踪和未跟踪的文件
$ git ls-files --others --exclude-standard

## 移除缓存的不必要文件
$ git rm --cached <文件>

实施这些实践有助于在整个开发项目中维护一个干净、高效且组织良好的 Git 工作流程。

总结

掌握未跟踪文件对于维护一个干净且有序的 Git 存储库至关重要。通过理解文件跟踪机制、使用诸如 git statusgit clean 之类的命令,并遵循最佳实践,开发者可以简化他们的版本控制流程,并确保高效的项目管理。