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
| 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}"
if [ -d .git ]; then echo -e "${YELLOW}⚠️ 当前目录已经是 Git 仓库${NC}" exit 1 fi
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
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
| sudo apt install git -y
git config --global user.name "你的姓名" git config --global user.email "你的邮箱"
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
| 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"
REPO_LICENSE="MIT"
|
2. 添加预配置模板
1 2 3 4 5 6 7 8 9 10 11 12 13
| mkdir -p src tests docs
if [ ! -f package.json ]; then npm init -y fi
if [ ! -f requirements.txt ]; then touch requirements.txt fi
|
3. 自动化远程仓库创建
1 2 3 4 5 6 7 8 9 10 11 12 13
| 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=$(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 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
|
{ "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 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 -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 仓库初始化脚本能帮助您快速开始新项目!如有任何问题或建议,欢迎反馈和改进。🚀