Git 新仓库初始化脚本 📁
一键自动化创建和初始化 Git 仓库的便捷工具,支持 Gitee、GitHub 和 Gitea 平台
📖 目录导航
✨ 脚本功能概述
本指南提供三个主流 Git 平台的仓库初始化脚本:
- Gitee 仓库初始化 - 国内码云平台
- GitHub 仓库初始化 - 全球最大代码托管平台
- Gitea 仓库初始化 - 自建 Git 服务平台
核心优势:
- ⚡ 一键自动化初始化流程
- 🔄 支持多个主流 Git 平台
- 📁 自动创建标准项目结构
- 🔐 安全的认证和权限管理
- 🛡️ 内置最佳实践配置
🚀 一、Gitee 新仓库初始化
执行 Gitee 仓库创建脚本
1
|
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh)
|
功能特点:
- 📝 自动创建 Gitee 新仓库
- 🔧 初始化本地 Git 配置
- 🔗 设置远程仓库连接
- 📁 创建标准的目录结构
- 📄 添加基础配置文件
输出示例:
1
2
3
4
5
6
7
|
🚀 开始创建 Gitee 新仓库...
📦 仓库名称: my-project
🔧 初始化 Git 仓库...
📁 创建基础文件...
✅ 本地仓库初始化完成
📝 请手动在 Gitee 上创建仓库...
🎉 仓库初始化流程完成!
|
🌐 二、GitHub 新仓库初始化
执行 GitHub 仓库创建脚本
1
|
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/github_new_godown.sh)
|
功能特点:
- 🐙 创建 GitHub 新仓库
- 🔐 支持 Personal Access Token 认证
- 🌍 自动设置仓库可见性(Public/Private)
- 📋 配置仓库描述和主题标签
- 🛡️ 添加基础的安全配置文件
高级功能:
- 自动创建 ISSUE_TEMPLATE 和 PULL_REQUEST_TEMPLATE
- 设置分支保护规则
- 配置 GitHub Actions 工作流
- 添加 CODEOWNERS 文件
🏠 三、Gitea 新仓库初始化
执行 Gitea 仓库创建脚本
1
|
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitea_new_godown.sh)
|
功能特点:
- 🖥️ 支持自建 Gitea 实例
- 🔧 自定义仓库配置选项
- 👥 设置协作者和团队权限
- 📊 配置仓库统计和监控
- 🔄 支持多种认证方式
配置选项:
1
2
3
4
5
6
7
8
|
# 设置 Gitea 实例地址
export GITEA_URL="https://git.example.com"
# 设置认证令牌
export GITEA_TOKEN="your-access-token"
# 设置组织/用户
export GITEA_OWNER="username-or-org"
|
🛠️ 四、脚本源码参考
Gitee 仓库初始化脚本 (gitee_new_godown.sh)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#!/bin/bash
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
echo -e "${CYAN}🚀 开始创建 Gitee 新仓库...${NC}"
# 获取当前目录名作为仓库名
REPO_NAME=$(basename "$PWD")
echo -e "📦 仓库名称: ${GREEN}$REPO_NAME${NC}"
# 检查是否已存在 Git 仓库
if [ -d .git ]; then
echo -e "${YELLOW}⚠️ 当前目录已经是 Git 仓库${NC}"
exit 1
fi
# 初始化 Git 仓库
echo -e "${BLUE}🔧 初始化 Git 仓库...${NC}"
git init
git branch -M main
# 创建基础文件
echo -e "${BLUE}📁 创建基础文件...${NC}"
cat > README.md << EOF
# $REPO_NAME
项目描述写在这里...
## 功能特性
- 特性 1
- 特性 2
- 特性 3
## 安装使用
\`\`\`bash
git clone <仓库地址>
cd $REPO_NAME
\`\`\`
## 许可证
MIT License
EOF
# 创建 .gitignore
cat > .gitignore << EOF
# 依赖目录
node_modules/
vendor/
# 日志文件
*.log
logs/
# 环境配置
.env
.env.local
# 系统文件
.DS_Store
Thumbs.db
# 编辑器配置
.vscode/
.idea/
EOF
# 添加和提交初始文件
git add .
git commit -m "初始提交: 项目初始化"
echo -e "${GREEN}✅ 本地仓库初始化完成${NC}"
# 提示用户手动创建远程仓库
echo -e "${YELLOW}📝 请手动在 Gitee 上创建仓库:${NC}"
echo -e " 1. 访问: https://gitee.com/projects/new"
echo -e " 2. 仓库名称: $REPO_NAME"
echo -e " 3. 创建完成后执行以下命令:"
echo -e ""
echo -e "git remote add origin git@gitee.com:你的用户名/$REPO_NAME.git"
echo -e "git push -u origin main"
echo -e ""
echo -e "${GREEN}🎉 仓库初始化流程完成!${NC}"
|
⚙️ 五、配置和准备工作
1. 安装必要的依赖
1
2
3
4
5
6
7
8
9
|
# 确保已安装 Git
sudo apt install git -y
# 配置 Git 用户信息
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"
# 生成 SSH 密钥(如果还没有)
ssh-keygen -t ed25519 -C "你的邮箱"
|
2. 配置平台访问令牌
Gitee 访问令牌
- 访问
https://gitee.com/profile/personal_access_tokens
- 创建新令牌,勾选 repo 权限
- 保存令牌备用
GitHub 访问令牌
- 访问
https://github.com/settings/tokens
- 创建新令牌,勾选 repo 权限
- 保存令牌备用
3. 环境变量配置
1
2
3
4
5
6
7
|
# 添加到 ~/.bashrc 或 ~/.zshrc
export GITEE_TOKEN="你的Gitee令牌"
export GITHUB_TOKEN="你的GitHub令牌"
export GITEA_TOKEN="你的Gitea令牌"
# 重新加载配置
source ~/.bashrc
|
🔧 六、高级配置选项
1. 自定义仓库配置
1
2
3
4
5
6
7
8
|
# 设置仓库描述
REPO_DESCRIPTION="我的项目描述"
# 设置仓库可见性
REPO_VISIBILITY="public" # 或 "private"
# 设置许可证
REPO_LICENSE="MIT"
|
2. 添加预配置模板
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 创建基础项目结构
mkdir -p src tests docs
# 添加语言特定配置
# 对于 Node.js 项目
if [ ! -f package.json ]; then
npm init -y
fi
# 对于 Python 项目
if [ ! -f requirements.txt ]; then
touch requirements.txt
fi
|
3. 自动化远程仓库创建
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 使用 Gitee API 自动创建仓库(需要安装 curl 和 jq)
GITEE_TOKEN="你的Gitee令牌"
REPO_NAME=$(basename "$PWD")
# 创建远程仓库
response=$(curl -X POST -H "Content-Type: application/json" \
-H "Authorization: token $GITEE_TOKEN" \
-d "{\"name\":\"$REPO_NAME\",\"description\":\"$REPO_DESCRIPTION\",\"private\":false}" \
https://gitee.com/api/v5/user/repos)
# 提取 SSH URL
SSH_URL=$(echo $response | jq -r '.ssh_url')
git remote add origin $SSH_URL
|
4. 多平台同步配置
1
2
3
4
5
6
7
8
9
|
# 添加多个远程仓库
git remote add gitee git@gitee.com:username/repo.git
git remote add github git@github.com:username/repo.git
git remote add gitea git@gitea.example.com:username/repo.git
# 推送到所有远程仓库
git push --all gitee
git push --all github
git push --all gitea
|
💡 七、使用技巧
1. 批量初始化多个仓库
1
2
3
|
# 创建项目目录并初始化
mkdir my-project && cd my-project
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh)
|
2. 集成到自动化工作流
1
2
3
4
5
6
7
8
9
10
11
|
#!/bin/bash
# 自动化项目创建脚本
set -e
PROJECT_NAME="$1"
mkdir "$PROJECT_NAME" && cd "$PROJECT_NAME"
# 执行仓库初始化
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh)
echo "项目 $PROJECT_NAME 创建完成!"
|
3. 自定义初始化模板
1
2
3
4
5
6
7
8
|
# 创建自定义模板目录
mkdir -p ~/.git-templates
# 复制脚本到模板目录
cp gitee_new_godown.sh ~/.git-templates/
# 设置 Git 模板路径
git config --global init.templatedir '~/.git-templates'
|
4. IDE 集成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# VS Code 任务配置
# 在 .vscode/tasks.json 中添加
{
"label": "Initialize Git Repository",
"type": "shell",
"command": "bash",
"args": [
"-c",
"bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh)"
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
}
|
🚨 八、注意事项
1. 权限和认证
- 确保有对应平台的账号和创建仓库的权限
- 配置正确的 SSH 密钥或访问令牌
- 注意令牌的权限范围
2. 网络连接
- 确保网络连接稳定,特别是访问国外平台时
- 考虑使用代理或镜像加速访问
3. 仓库命名规范
- 遵循平台的仓库命名规则
- 避免使用特殊字符和保留名称
- 建议使用小写字母和连字符
4. 敏感信息保护
- 不要在代码中包含敏感信息
- 使用 .gitignore 忽略配置文件
- 考虑使用环境变量或密钥管理工具
5. 许可证选择
1
2
3
4
5
6
7
8
|
# 常用开源许可证
- MIT: 宽松许可证,适合大多数项目
- Apache-2.0: 企业友好,专利保护
- GPL-3.0: 强 copyleft,要求开源衍生作品
- BSD-3-Clause: 类似 MIT,附加条款
# 添加许可证文件
curl -sL https://api.github.com/licenses/mit | jq -r '.body' > LICENSE
|
🔄 九、故障排除
❓ 脚本执行权限问题
1
2
3
4
5
|
# 添加执行权限
chmod +x gitee_new_godown.sh
# 或者直接使用 bash 执行
bash script.sh
|
❓ 网络连接问题
1
2
3
4
5
6
|
# 使用国内镜像
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh)
# 或者先下载脚本再执行
curl -O https://gitee.com/meimolihan/script/raw/master/sh/git/gitee_new_godown.sh
bash gitee_new_godown.sh
|
❓ API 速率限制
- 避免频繁调用创建接口
- 使用缓存或等待一段时间后重试
- 考虑使用官方 CLI 工具替代
❓ 认证失败
1
2
3
4
5
|
# 检查 SSH 密钥配置
ssh -T git@gitee.com
# 重新配置认证信息
git config --global credential.helper store
|
❓ 仓库已存在错误
1
2
3
4
5
6
7
|
# 检查远程仓库是否已存在
curl -s -H "Authorization: token $GITEE_TOKEN" \
"https://gitee.com/api/v5/repos/username/$REPO_NAME" | jq .
# 如果存在,可以选择删除或重命名
curl -X DELETE -H "Authorization: token $GITEE_TOKEN" \
"https://gitee.com/api/v5/repos/username/$REPO_NAME"
|
📊 十、各平台特性对比
特性 |
Gitee |
GitHub |
Gitea |
访问速度 |
⭐⭐⭐⭐⭐ |
⭐⭐ |
⭐⭐⭐⭐⭐ |
中文支持 |
⭐⭐⭐⭐⭐ |
⭐⭐ |
⭐⭐⭐⭐ |
免费私有库 |
✅ |
✅ |
✅ |
CI/CD |
⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
⭐⭐⭐ |
社区生态 |
⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
⭐⭐⭐ |
自部署 |
❌ |
❌ |
✅ |
API 限制 |
宽松 |
严格 |
可配置 |
企业特性 |
⭐⭐⭐⭐ |
⭐⭐⭐⭐⭐ |
⭐⭐⭐ |
选择建议:
- 国内个人项目:推荐 Gitee,访问速度快,中文支持好
- 开源项目:推荐 GitHub,全球最大的开源社区
- 企业自建:推荐 Gitea,可完全控制,支持私有化部署
- 多平台同步:可以同时在多个平台托管,提高可用性
🎯 提示:根据您的需求选择合适的平台。国内用户推荐 Gitee 获得更好的访问速度,开源项目推荐 GitHub 获得更广泛的曝光,需要自建服务的推荐 Gitea。
希望这些 Git 仓库初始化脚本能帮助您快速开始新项目!如有任何问题或建议,欢迎反馈和改进。🚀