Git 中文手册

git init 初始化仓库:从零创建一个 Git 项目

2026-09-06 约 3 分钟阅读

想给本地文件夹开启版本管理?git init 是第一步。本文讲清 git init 的用法、生成 .git 目录结构、以及 init 和 clone 的区别。

场景:你有一个文件夹想开始用 Git 管理版本,或想在本地新建一个全新项目。git init 就是这第一步。

基本用法

进入你的项目文件夹后执行:

cd 你的项目文件夹
git init

执行后 Git 会提示类似 Initialized empty Git repository in /path/to/project/.git/,一个 Git 仓库就建好了。

指定初始分支名

想一开始就用 main 作为主分支(避免 master/main 混乱):

git init -b main

Git 新版默认就是 main,老版本可用此参数显式指定。

生成 .git 目录结构

git init 会创建一个隐藏的 .git 文件夹,里面存放版本库的全部核心数据:

.git/
├── HEAD          # 指向当前分支
├── config        # 仓库配置(用户、远程等)
├── objects/      # 所有提交/文件的对象数据
├── refs/         # 分支和标签的指针
├── hooks/        # 钩子脚本(可选)
└── index         # 暂存区(首次 add 后生成)

日常开发不需要手动碰 .git,它由 Git 自动维护。

初始化后做什么

git status              # 查看状态,现在是干净的
git add .               # 暂存所有文件
git commit -m "初始提交" # 创建第一个提交
git remote add origin 远程地址  # (可选)关联远程仓库

在当前仓库临时换主分支名

如果已经 init 完成且想改分支名:

git branch -m master main   # 把 master 改名为 main

init vs clone 速查

git initgit clone
场景本地新建/开启版本管理从远程复制已有代码
是否要远程不需要需要远程地址
产物空仓库+自己的文件完整复制已有代码和历史

常见问题

  • 误在错误目录 init:没有影响,直接删除 .git 文件夹即可撤销(rm -rf .git,谨慎)。
  • 想删除整个仓库的版本记录:删掉 .git 文件夹会清空所有历史,仅保留当前文件,慎用。
  • 在已有子仓库的文件夹里 init:会形成嵌套,Git 会把内层当作独立仓库,一般应避免。

一句话速记

git init 开启版本管理,生成 .git 目录;本地新建用 init,拿远程代码用 clone。

?

常见问题 FAQ

git init 和 git clone 有什么区别?
init 是在本地把一个文件夹变成 Git 仓库(从无到有);clone 是从远程仓库复制一份已有代码到本地。想关联已有远程项目用 clone,想在本地新建项目用 init。
git init 后文件夹里的东西会变吗?
不会。它只是在当前目录里生成一个隐藏的 .git 文件夹用于记录版本,你的文件内容完全不变。
执行了 git init 但没看到 .git 目录,为什么?
.git 是隐藏文件夹,默认不显示。Windows 用 ls -a 或资源管理器"显示隐藏文件",Mac/Linux 用 ls -a。
初始化后默认分支是 master 还是 main?
取决于 Git 版本配置。新版 Git 常默认 main,旧版为 master。可通过 git init -b main 指定初始分支名,或用 git branch -m main 改名。