@@ -0,0 +1,349 @@
|
||||
````markdown
|
||||
# Git 仓库初始化配置任务
|
||||
|
||||
## 任务目标
|
||||
|
||||
你现在作为项目 Git 管理负责人,负责完成当前项目的 Git 初始化、远程仓库配置、开发者信息配置、SSH/GPG 签名配置、首次提交以及推送。
|
||||
|
||||
要求:
|
||||
|
||||
- 所有 Git 操作规范化
|
||||
- 提交信息必须使用中文
|
||||
- 提交作者信息统一
|
||||
- 配置安全认证
|
||||
- 完成首次正式提交
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 一、Git 初始化
|
||||
|
||||
|
||||
## 初始化仓库
|
||||
|
||||
执行:
|
||||
|
||||
```bash
|
||||
git init
|
||||
````
|
||||
|
||||
检查状态:
|
||||
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 二、配置 Git 用户信息
|
||||
|
||||
开发者信息:
|
||||
|
||||
```
|
||||
姓名:
|
||||
旅行呀~
|
||||
|
||||
邮箱:
|
||||
travelxiao@qq.com
|
||||
```
|
||||
|
||||
配置:
|
||||
|
||||
```bash
|
||||
git config user.name "旅行呀~"
|
||||
|
||||
git config user.email "travelxiao@qq.com"
|
||||
```
|
||||
|
||||
检查:
|
||||
|
||||
```bash
|
||||
git config --list
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
提交作者显示:
|
||||
|
||||
```
|
||||
旅行呀~ <travelxiao@qq.com>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 三、添加远程仓库
|
||||
|
||||
远程仓库地址(Gitea 示例,换成你的主机):
|
||||
|
||||
```
|
||||
git@git.example.com:owner/repo.git
|
||||
https://git.example.com:3000/owner/repo.git
|
||||
ssh://git@git.example.com:2222/owner/repo.git
|
||||
```
|
||||
|
||||
添加:
|
||||
|
||||
```bash
|
||||
git remote add origin <Gitea仓库URL>
|
||||
```
|
||||
|
||||
检查:
|
||||
|
||||
```bash
|
||||
git remote -v
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
```
|
||||
origin fetch
|
||||
origin push
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 四、配置 Git Token
|
||||
|
||||
使用 **Gitea 访问令牌** 进行 HTTPS 远程认证。
|
||||
|
||||
要求:
|
||||
|
||||
* Token 仅保存本地(DPAPI 加密,见 git-init skill)
|
||||
* 不允许写入代码
|
||||
* 不允许提交到仓库
|
||||
|
||||
在 Gitea:设置 → 应用 → 生成新令牌。HTTPS 用户名为 Gitea 登录名,密码为令牌。
|
||||
|
||||
配置凭据保存:
|
||||
|
||||
```bash
|
||||
git config --global credential.helper manager
|
||||
```
|
||||
|
||||
首次由 skill 的 `store-token.ps1` / `inject-credential.ps1` 完成,不要在对话中粘贴令牌。
|
||||
|
||||
---
|
||||
|
||||
# 五、生成 SSH 密钥
|
||||
|
||||
生成 ED25519 SSH Key:
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -C "travelxiao@qq.com"
|
||||
```
|
||||
|
||||
启动(Windows 用 OpenSSH 服务,不要用 eval ssh-agent):
|
||||
|
||||
```bash
|
||||
# Windows PowerShell: Start-Service ssh-agent
|
||||
eval "$(ssh-agent -s)"
|
||||
```
|
||||
|
||||
添加:
|
||||
|
||||
```bash
|
||||
ssh-add ~/.ssh/id_ed25519
|
||||
```
|
||||
|
||||
查看公钥:
|
||||
|
||||
```bash
|
||||
cat ~/.ssh/id_ed25519.pub
|
||||
```
|
||||
|
||||
将公钥添加到 **Gitea → 设置 → SSH / GPG 密钥**。
|
||||
|
||||
测试(把主机换成你的 Gitea;自定义端口用 -p):
|
||||
|
||||
```bash
|
||||
ssh -T git@git.example.com
|
||||
ssh -p 2222 -T git@git.example.com
|
||||
```
|
||||
|
||||
或使用 skill:`test-ssh.ps1 -RemoteUrl <SSH仓库URL>`。
|
||||
---
|
||||
|
||||
# 六、生成 GPG 签名密钥
|
||||
|
||||
生成:
|
||||
|
||||
```bash
|
||||
gpg --full-generate-key
|
||||
```
|
||||
|
||||
信息:
|
||||
|
||||
```
|
||||
姓名:
|
||||
旅行呀~
|
||||
|
||||
邮箱:
|
||||
travelxiao@qq.com
|
||||
```
|
||||
|
||||
查看 Key:
|
||||
|
||||
```bash
|
||||
gpg --list-secret-keys --keyid-format LONG
|
||||
```
|
||||
|
||||
配置 Git 签名:
|
||||
|
||||
```bash
|
||||
git config user.signingkey KEY_ID
|
||||
```
|
||||
|
||||
开启提交签名:
|
||||
|
||||
```bash
|
||||
git config commit.gpgsign true
|
||||
```
|
||||
|
||||
将 GPG 公钥添加到 **Gitea → 设置 → SSH / GPG 密钥**(导出:`gpg --armor --export KEY_ID`)。
|
||||
---
|
||||
|
||||
# 七、Git 提交规范
|
||||
|
||||
所有提交信息必须使用中文。
|
||||
|
||||
格式:
|
||||
|
||||
```
|
||||
类型: 描述
|
||||
```
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
初始化: 完成项目Git配置
|
||||
|
||||
新增: 添加用户模块
|
||||
|
||||
修复: 修复登录问题
|
||||
|
||||
优化: 优化代码结构
|
||||
|
||||
文档: 更新README
|
||||
```
|
||||
|
||||
禁止:
|
||||
|
||||
```
|
||||
update
|
||||
|
||||
fix
|
||||
|
||||
test
|
||||
|
||||
修改一下
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 八、完善 README
|
||||
|
||||
完善项目根目录:
|
||||
|
||||
```
|
||||
README.md
|
||||
```
|
||||
|
||||
要求:
|
||||
|
||||
包含:
|
||||
|
||||
* 项目简介
|
||||
* 基础使用说明
|
||||
* 项目结构
|
||||
* 开发说明
|
||||
|
||||
---
|
||||
|
||||
# 九、第一次提交
|
||||
|
||||
添加文件:
|
||||
|
||||
```bash
|
||||
git add .
|
||||
```
|
||||
|
||||
提交:
|
||||
|
||||
```bash
|
||||
git commit -S -m "初始化: 完成项目初始化配置并完善README文档"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 十、推送远程仓库
|
||||
|
||||
设置主分支:
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
```
|
||||
|
||||
推送:
|
||||
|
||||
```bash
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 十一、最终检查
|
||||
|
||||
执行:
|
||||
|
||||
```bash
|
||||
git status
|
||||
|
||||
git remote -v
|
||||
|
||||
git log --show-signature -1
|
||||
```
|
||||
|
||||
确认:
|
||||
|
||||
* Git 初始化成功
|
||||
* 用户信息正确
|
||||
* 远程仓库连接成功
|
||||
* SSH 配置完成
|
||||
* GPG 签名成功
|
||||
* 首次提交完成
|
||||
* 代码成功推送
|
||||
|
||||
---
|
||||
|
||||
# 十二、后续提交要求
|
||||
|
||||
以后所有提交:
|
||||
|
||||
作者:
|
||||
|
||||
```
|
||||
旅行呀~ <travelxiao@qq.com>
|
||||
```
|
||||
|
||||
提交信息:
|
||||
|
||||
必须中文。
|
||||
|
||||
每次提交必须包含清晰描述:
|
||||
|
||||
例如:
|
||||
|
||||
```
|
||||
新增: 添加支付接口
|
||||
|
||||
修复: 修复数据异常问题
|
||||
|
||||
优化: 优化接口性能
|
||||
```
|
||||
|
||||
目标:
|
||||
|
||||
建立规范、安全、可维护的 Git 仓库环境。
|
||||
|
||||
```
|
||||
```
|
||||
Reference in New Issue
Block a user