由于您提到没有Git使用经验,这里为您提供完整的Git操作指南。
Git是一个分布式版本控制系统,可以:
- 跟踪文件变更历史
- 协作开发
- 备份代码
- 回滚到之前的版本
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install gitWindows: 从 https://git-scm.com/download/win 下载安装
Mac:
brew install git# 设置用户名(全局配置)
git config --global user.name "您的姓名"
# 设置邮箱(全局配置)
git config --global user.email "your.email@example.com"
# 查看配置
git config --listcd /mnt/c/Users/HW/Desktop/yuanhechen/DataProcessing# 初始化Git仓库
git init
# 查看状态
git status# 创建.gitignore文件,忽略不需要版本控制的文件
cat > .gitignore << 'EOF'
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# 虚拟环境
venv/
env/
ENV/
# IDE
.vscode/
.idea/
*.swp
*.swo
# 日志文件
logs/
*.log
# 临时文件
temp/
tmp/
*.tmp
# 数据文件(可选,根据需要调整)
data/input/*
data/output/*
!data/input/.gitkeep
!data/output/.gitkeep
# 配置文件中的敏感信息
config/local_settings.yaml
EOF# 创建保持目录的空文件
touch data/input/.gitkeep
touch data/output/.gitkeep
touch logs/.gitkeep
# 添加所有文件到暂存区
git add .
# 查看要提交的文件
git status# 提交代码
git commit -m "初始提交:多模态数据处理项目"
# 查看提交历史
git log --oneline# 查看文件状态
git status
# 查看具体改动
git diff
# 查看已暂存的改动
git diff --staged# 添加特定文件
git add src/main.py
# 添加所有更改的文件
git add .
# 添加所有.py文件
git add "*.py"
# 提交更改
git commit -m "描述您的更改"
# 一步完成添加和提交(仅适用于已跟踪的文件)
git commit -am "更新说明"# 查看提交历史
git log
# 简洁的历史记录
git log --oneline
# 查看最近3次提交
git log -3
# 查看特定文件的历史
git log -- src/main.py# 查看提交ID
git log --oneline
# 回滚到特定提交(危险操作!)
git reset --hard <提交ID>
# 更安全的回滚:创建新提交来撤销
git revert <提交ID>
# 撤销最后一次提交但保留更改
git reset --soft HEAD~1# 查看所有分支
git branch
# 创建新分支
git branch feature/new-processor
# 切换到新分支
git checkout feature/new-processor
# 创建并切换到新分支(一步完成)
git checkout -b feature/image-enhancement
# 切换回主分支
git checkout main# 切换到主分支
git checkout main
# 合并功能分支
git merge feature/new-processor
# 删除已合并的分支
git branch -d feature/new-processor# 添加远程仓库
git remote add origin https://github.com/username/repository.git
# 查看远程仓库
git remote -v
# 推送到远程仓库
git push -u origin main
# 后续推送
git push
# 从远程仓库拉取更新
git pull# 克隆远程仓库
git clone https://github.com/username/repository.git
# 克隆到指定目录
git clone https://github.com/username/repository.git my-project# 重命名文件
git mv old-name.py new-name.py
# 删除文件
git rm file.py
# 停止跟踪文件但保留在工作目录
git rm --cached file.py# 暂存当前更改
git stash
# 查看暂存列表
git stash list
# 恢复最近的暂存
git stash pop
# 恢复特定暂存
git stash apply stash@{1}# 查看特定提交的详情
git show <提交ID>
# 比较两个提交
git diff <提交ID1>..<提交ID2>
# 查看文件在特定提交时的内容
git show <提交ID>:path/to/file.py# 好的提交信息格式
git commit -m "添加图片处理器功能"
git commit -m "修复PDF解析错误"
git commit -m "更新配置文件格式"
# 更详细的提交信息
git commit -m "添加图片处理器功能
- 实现ImageProcessor类
- 集成多模态模型接口
- 添加错误处理和日志记录"# 建议经常提交小的更改
git add src/processors/new_processor.py
git commit -m "添加新的文档处理器"
git add tests/test_new_processor.py
git commit -m "添加新处理器的单元测试"# 为每个功能创建分支
git checkout -b feature/add-excel-support
# 开发...
git add .
git commit -m "添加Excel文件支持"
git checkout main
git merge feature/add-excel-support# 撤销git add
git reset HEAD file.py
# 撤销所有添加
git reset HEAD# 修改最后一次提交信息
git commit --amend -m "新的提交信息"
# 添加文件到最后一次提交
git add forgotten-file.py
git commit --amend --no-edit# 当合并时出现冲突
git merge feature-branch
# 编辑冲突文件,解决冲突标记
# 添加解决后的文件
git add conflicted-file.py
git commit -m "解决合并冲突"# 1. 开始新功能
git checkout -b feature/new-feature
# 2. 开发和测试
# 编辑文件...
git add .
git commit -m "实现新功能的核心逻辑"
# 3. 继续开发
# 编辑更多文件...
git add .
git commit -m "添加单元测试"
# 4. 完成功能
git checkout main
git merge feature/new-feature
git branch -d feature/new-feature
# 5. 推送到远程(如果有)
git push# 在重要milestone创建标签
git tag -a v1.0.0 -m "第一个稳定版本"
git tag -a v1.1.0 -m "添加图片处理功能"
# 查看标签
git tag
# 推送标签到远程
git push --tags这个教程应该能帮助您从零开始使用Git管理您的多模态数据处理项目。记住,Git是一个强大的工具,开始时可能觉得复杂,但随着使用会变得越来越简单!