万事开头难,使用 Git 进行版本控制的第一步,就是创建一个 Git 仓库。
所谓的“仓库”,本质上就是一个被 Git 监控的目录。在这个目录里,Git 会记录下每一次文件的修改、删除和新增,仿佛给项目建立了一个完整的“时光机”档案库。
获取 Git 仓库通常有两种方式,本章重点讲解最常用的第一种:在现有目录中初始化。
如果你已经有一个写了一半的项目代码,或者只是新建了一个空文件夹想开始新项目,你需要使用 git init 命令。
macOS/Linux 用户使用 Terminal。 2. 进入项目目录 使用 cd 命令切换到你想要管理的文件夹路径。例如,你的项目在 D:\projects\my-web:
cd D:\projects\my-web
git init
当你执行完上述命令后,终端通常会输出类似这样的一句话:
Initialized empty Git repository in D:/projects/my-web/.git/
这句话告诉我们两件事:
重要揭秘:.git 目录
.git 目录是 Git 仓库的核心,它存储了项目所有的版本历史、配置信息、分支数据等。
不要手动修改它:除非你是 Git 专家,否则不要尝试手动修改 .git 目录里的文件,这可能会破坏仓库。 不要删除它:如果你删除了 .git 目录,这个项目就变回了普通的文件夹,所有的历史记录将彻底丢失。 如何查看:默认情况下,该目录是隐藏的。在 Windows 资源管理器中,你需要勾选“查看 -> 隐藏的项目”才能看到它。
除了从零开始,另一种常见的情况是你想参与一个已有的项目(例如从 GitHub 或 Gitee 上下载开源代码)。这时候不需要 git init,而是使用 git clone。
这就好比别人已经建好了档案库,你直接把档案库完整复制一份到自己电脑上。
命令格式:
git clone <远程仓库地址>
示例:
git clone https://github.com/jquery/jquery.git
执行后,Git 会自动创建一个名为 jquery 的文件夹,并在里面初始化好仓库,拉取所有历史数据。
在早期的 Git 版本中,初始化后的默认分支名通常叫 master。但从 Git 2.28 版本开始,为了保持术语的中立性和一致性,社区建议使用 main 作为默认分支名。
当你执行 git init 后,可以使用以下命令查看当前分支:
git branch
如果你看到 master,这是旧式默认命名。
如果你看到 main,这是现代默认命名。
如果提示 No commits yet,说明目前还没有任何提交,分支名尚未确定,等到第一次提交后即可看到。
提示:如果你想统一修改默认分支名为 main,可以在全局配置中执行:
git config --global init.defaultBranch main
不要在“大目录”里初始化
有的用户习惯在根目录(如 C:\ 或 D:\ 甚至桌面)直接执行 git init。 这会导致整个磁盘或桌面下的所有文件都被 Git 监控,不仅会让 Git 扫描海量文件导致卡顿,还会造成隐私泄露和混乱。
始终为每个项目建立一个独立的文件夹,在这个项目根目录下执行 git init。
不要“仓库套仓库”
在一个已经被 Git 管理的仓库目录里,再创建一个子目录并执行 git init。
Git 会将子目录里的 .git 视为普通文件忽略掉,或者产生混乱的路径引用。通常建议一个项目对应一个 Git 仓库。
| 命令 | 作用 | 适用场景 |
|---|---|---|
| git init | 创建新的本地仓库 | 本地新建项目,或为已有代码添加版本控制 |
| git clone <url> | 克隆远程仓库到本地 | 参与开源项目,或从公司服务器拉取代码 |
初始化仓库只是第一步,现在你的项目还只是一个“空壳”,接下来我们将学习如何将文件添加进去。