1. 项目背景与需求解析
作为一名经常需要在家和公司两地办公的开发者,我长期被文件同步问题困扰。U盘拷贝容易丢失版本,网盘同步又存在延迟和冲突问题。直到发现Gitee这个国内代码托管平台,才找到了完美的解决方案——将本地文件夹托管到Gitee私有仓库,实现真正的实时同步。
这个方案的核心价值在于:
- 版本控制:每次修改都有完整历史记录
- 实时同步:push/pull操作秒级完成
- 多设备协作:支持任意数量的终端设备
- 完全免费:私有仓库不收取费用
2. 环境准备与工具配置
2.1 基础软件安装
首先需要在所有工作设备上安装Git:
bash复制# Windows用户建议安装Git for Windows
# macOS用户使用Homebrew安装:
brew install git
2.2 Gitee账户配置
- 注册Gitee账号(建议使用工作邮箱)
- 创建新仓库时注意选择"私有"权限
- 在账号设置中添加SSH公钥(重要!)
生成SSH密钥对的方法:
bash复制ssh-keygen -t rsa -C "your_email@example.com"
# 生成的公钥默认位于~/.ssh/id_rsa.pub
3. 本地项目初始化与推送
3.1 初始化本地仓库
假设要同步的文件夹是~/projects/my_work:
bash复制cd ~/projects/my_work
git init
git add .
git commit -m "初始提交"
3.2 关联远程仓库
在Gitee创建好仓库后,执行:
bash复制git remote add origin git@gitee.com:yourname/repo.git
git push -u origin master
注意:首次推送可能需要输入Gitee账号密码,建议配置SSH免密登录
4. 日常同步工作流
4.1 公司电脑操作流程
下班前执行:
bash复制git add .
git commit -m "下班前提交"
git push
4.2 家庭电脑操作流程
到家后首先执行:
bash复制git pull
开始工作后,修改流程与公司相同
5. 高级配置与优化技巧
5.1 忽略不需要同步的文件
创建.gitignore文件,例如:
code复制*.tmp
.DS_Store
node_modules/
5.2 分支管理策略
建议采用功能分支工作流:
bash复制# 创建新功能分支
git checkout -b feature-xxx
# 开发完成后
git push origin feature-xxx
5.3 自动同步方案
可以设置crontab定时任务(Mac/Linux):
bash复制# 每小时自动同步一次
0 * * * * cd ~/projects/my_work && git pull && git add . && git commit -m "自动同步" && git push
6. 常见问题解决方案
6.1 冲突解决
当多人修改同一文件时:
bash复制# 出现冲突后
git mergetool
# 手动解决冲突后
git commit
6.2 大文件处理
Gitee对单个文件有100MB限制,建议:
- 使用git-lfs扩展
- 或将大文件存储在对象存储服务
6.3 连接超时问题
修改Git配置:
bash复制git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000
7. 安全注意事项
- 敏感信息不要直接提交(如密码、API Key)
- 必要时使用git-crypt加密敏感文件
- 定期检查仓库的协作成员权限
这套方案我已经稳定使用两年多,真正实现了"修改一处,处处同步"的工作体验。特别是在出差时用笔记本临时修改文件,回到办公室后立即就能同步最新版本,工作效率提升非常明显。