coding_agent

为本地配置目录创建私人 GitHub 备份仓库

⚠️ 2026-08 现行纠正:下文保留的是 2026-04 的历史决策过程,不是可直接执行的恢复手册。 当前规则是“配置源码白名单 + deny-by-default .gitignore”。.aws.gcloud、OAuth、SSH、 凭据、session、logs、数据库、缓存和模型权重不进入 Git;私有仓库也不是秘密存储。 新主机请从恢复顺序开始。

💡 核心目标:多端同步 + 灾备。本地丢了能从 GitHub 恢复,多台机器共享同一份配置。

背景

本地 home 目录下有大量配置目录,承载着各工具的完整工作状态:

对于多机器工作场景(实验室台式机 + 宿舍笔记本),这些目录是核心数据的汇集点。


目录清单(17 个)

目录说明备份策略
Zotero文献管理工具完整备份
.ollamaOllama 模型管理(包含模型权重)Release 托管
anaconda3Conda 环境完整备份
.trae-cnTrae IDE 配置完整备份
.kerasKeras 模型与训练状态Release 托管
.dockerDocker Desktop 配置与镜像配置文件备份
.marscodeMarsCode 配置完整备份
.astropyAstropy 配置完整备份
.awsAWS CLI 配置完整备份
.gitkrakenGitKraken Git 客户端配置完整备份
.huggingfaceHugging Face 工具配置完整备份
.tensorboardTensorBoard 日志完整备份
.polyaxonPolyaxon MLOps 平台配置完整备份
.gcloudGoogle Cloud CLI 配置完整备份
.azureAzure CLI 配置完整备份
.kubeKubernetes 配置完整备份
.sourcetreeSourceTree Git 客户端配置完整备份

关键决策

决策 1:备份策略 — 完整备份 + 大文件进 Release

每个目录内容都比较复杂,敏感信息少(大多是工具配置),适合完整推送 Git。但 .ollama.keras 等目录通常包含大文件(模型权重、训练 checkpoint),不适合放进 Git 仓库。

最终选择:全部文件都推送 git,大文件通过 GitHub Releases 单独管理。

决策 2:仓库命名 — . 前缀保留

本地目录带 . 前缀(如 .ollama),GitHub 仓库也保持相同命名(如 mykcs/.ollama)。已有的 .claude 私有仓库提供了先例。

决策 3:大文件管理 — 不使用 Git LFS

Git LFS 有免费配额限制(1GB/每月),超出后收费。大文件(模型权重、数据集等)改用 GitHub Releases 管理。


历史操作流程(不要直接运行)

Step 1:修正已创建的错误命名仓库

由于 gh repo create .astropy 默认把仓库名从 .astropy 变成 astropy(去掉点),已创建的 4 个仓库需要删掉重建:

# 删除错误命名的仓库
gh repo delete astropy --yes
gh repo delete docker-config --yes
gh repo delete marscode --yes
gh repo delete gitkraken --yes

# 重建为正确命名
gh repo create .astropy --private --source /Users/myk/.astropy --push
gh repo create .docker --private --source /Users/myk/.docker --push
gh repo create .marscode --private --source /Users/myk/.marscode --push
gh repo create .gitkraken --private --source /Users/myk/.gitkraken --push

Step 2:创建剩余 7 个新仓库

gh repo create .huggingface --private --source /Users/myk/.huggingface --push
gh repo create .tensorboard --private --source /Users/myk/.tensorboard --push
gh repo create .polyaxon --private --source /Users/myk/.polyaxon --push
gh repo create .gcloud --private --source /Users/myk/.gcloud --push
gh repo create .azure --private --source /Users/myk/.azure --push
gh repo create .kube --private --source /Users/myk/.kube --push
gh repo create .sourcetree --private --source /Users/myk/.sourcetree --push

仓库命名对应表

本地目录GitHub 仓库
.ollamagithub.com/mykcs/.ollama
.astropygithub.com/mykcs/.astropy
.dockergithub.com/mykcs/.docker
.marscodegithub.com/mykcs/.marscode
.gitkrakengithub.com/mykcs/.gitkraken
.huggingfacegithub.com/mykcs/.huggingface
.tensorboardgithub.com/mykcs/.tensorboard
.polyaxongithub.com/mykcs/.polyaxon
.gcloudgithub.com/mykcs/.gcloud
.azuregithub.com/mykcs/.azure
.kubegithub.com/mykcs/.kube
.sourcetreegithub.com/mykcs/.sourcetree
anaconda3github.com/mykcs/anaconda3
.awsgithub.com/mykcs/.aws
Zoterogithub.com/mykcs/Zotero
.trae-cngithub.com/mykcs/.trae-cn
.kerasgithub.com/mykcs/.keras

下一步计划