git init 命令
简介
git init 是 Git 中用于初始化新仓库的命令。它会在当前目录创建一个新的 Git 仓库,开始版本控制。
基本概念
什么是初始化
初始化是在目录中创建 .git 子目录的过程,这个目录包含 Git 仓库的所有元数据和对象数据库。
初始化的作用
- 创建 Git 仓库结构
- 初始化配置
- 创建初始分支(通常是 main 或 master)
- 准备开始版本控制
命令语法
1 2 3 4 5 6 7 8
| git init
git init <目录名>
git init --bare
|
查看帮助文档
常用选项
| 选项 |
说明 |
--bare |
创建裸仓库(无工作目录) |
--template=<模板目录> |
使用指定的模板目录 |
--separate-git-dir=<git目录> |
将 .git 目录放在指定位置 |
-q, --quiet |
静默模式 |
--initial-branch=<分支名> |
设置初始分支名(默认 main) |
--shared[=<权限>] |
设置仓库为共享仓库 |
基本使用
1. 基本初始化
1 2 3 4 5
| $ git init
$ git init my-project
|
2. 初始化裸仓库
1 2 3 4
| $ git init --bare repo.git
|
3. 设置初始分支名
1 2 3 4 5 6
| $ git init --initial-branch=main
$ git config --global init.defaultBranch main $ git init
|
4. 使用模板
1 2
| $ git init --template=/path/to/template
|
5. 分离 Git 目录
1 2
| $ git init --separate-git-dir=/path/to/git-dir
|
实际应用场景
场景1:初始化新项目
1 2 3 4 5 6 7 8 9 10 11
| $ mkdir my-project $ cd my-project
$ git init
$ echo "# My Project" > README.md $ git add README.md $ git commit -m "Initial commit"
|
场景2:将现有项目纳入版本控制
1 2 3 4 5 6 7 8 9 10 11
| $ cd existing-project
$ git init
$ git add .
$ git commit -m "Initial commit"
|
场景3:创建共享仓库
1 2 3 4 5
| $ git init --bare shared-repo.git
$ git clone /path/to/shared-repo.git
|
场景4:设置初始分支
1 2 3 4 5
| $ git init --initial-branch=main
$ git config --global init.defaultBranch main
|
初始化后的操作
1. 配置用户信息
1 2 3 4 5 6 7
| $ git config user.name "Your Name" $ git config user.email "your.email@example.com"
$ git config --global user.name "Your Name" $ git config --global user.email "your.email@example.com"
|
2. 添加远程仓库
1 2 3 4 5
| $ git remote add origin https://github.com/user/repo.git
$ git remote -v
|
3. 创建初始提交
1 2 3 4 5
| $ git add .
$ git commit -m "Initial commit"
|
4. 推送到远程
1 2
| $ git push -u origin main
|
常见问题和解决方案
问题1:已经存在 .git 目录
解决方案:
问题2:想重新初始化
解决方案:
1 2 3 4 5
| $ rm -rf .git
$ git init
|
问题3:初始分支名不是想要的
解决方案:
1 2 3 4 5
| $ git init --initial-branch=main
$ git config --global init.defaultBranch main
|
最佳实践
1. 初始化后立即配置
1 2 3 4 5 6 7 8 9
| $ git init
$ git config user.name "Your Name" $ git config user.email "your.email@example.com"
$ echo "node_modules/" > .gitignore
|
2. 创建初始提交
1 2 3
| $ git add . $ git commit -m "Initial commit"
|
3. 设置默认分支名
1 2
| $ git config --global init.defaultBranch main
|
4. 使用 .gitignore
1 2 3 4 5 6
| $ cat > .gitignore << EOF node_modules/ *.log .DS_Store EOF
|
总结
git init 是开始使用 Git 的第一步:
- 基本用法:
git init 初始化当前目录
- 裸仓库:
git init --bare 创建共享仓库
- 初始分支:
--initial-branch 设置初始分支名
- 后续操作:配置用户信息、添加远程、创建初始提交
关键要点:
- ✅ 初始化后配置用户信息
- ✅ 创建 .gitignore 文件
- ✅ 创建初始提交
- ✅ 设置默认分支名(main)