2cddf06b6c
Co-authored-by: 旅行呀~ <travelxiao@qq.com>
350 lines
4.2 KiB
Markdown
350 lines
4.2 KiB
Markdown
````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 仓库环境。
|
||
|
||
```
|
||
```
|