Ubuntu环境下C++项目版本控制指南(以Git为核心)
在Ubuntu终端中执行以下命令,通过包管理器安装Git:
sudo apt update && sudo apt install git 安装完成后,可通过git --version验证是否安装成功。
设置用户名和邮箱(用于标识提交者,必填):
git config --global user.name "Your Name" git config --global user.email "your.email@example.com" 可通过git config --list查看配置是否生效。
进入C++项目根目录(如MyCppProject),执行以下命令初始化Git仓库:
cd /path/to/your/cpp/project git init 这会在项目目录下生成一个隐藏的.git文件夹,用于存储版本历史。
若需团队协作或云端备份,可在GitHub/GitLab等平台创建远程仓库(如https://github.com/username/repo.git),然后关联本地仓库:
git remote add origin https://github.com/username/repo.git 关联后,可通过git remote -v查看远程仓库地址。
main.cpp、CMakeLists.txt)添加到暂存区,可使用git add .(添加所有文件)或git add filename.cpp(添加特定文件)。git commit -m "Add main.cpp and CMakeLists.txt")。分支用于隔离不同功能的开发,避免影响主分支(通常为main或master):
git checkout -b feature/new-feature(feature/new-feature为分支名,可根据功能命名)。git checkout main(切换回主分支)。git merge feature/new-feature。git branch -d feature/new-feature(仅删除已合并的分支)。创建.gitignore文件(位于项目根目录),列出无需版本控制的文件/目录(如编译生成的*.o、*.exe,临时文件*.log,依赖目录build/):
*.o *.exe build/ *.log 这可避免将无用文件纳入版本历史,保持仓库整洁。
git log(显示所有提交的哈希值、作者、时间及信息)。git log --oneline(每条提交仅显示哈希值前7位和信息)。git status(显示未提交的更改、暂存区状态等)。当多人协作或分支合并时,若同一文件的同一区域被修改,会引发冲突。Git会在冲突文件中标记冲突位置(如<<<<<<< HEAD、=======、>>>>>>> feature-branch),需手动编辑文件解决冲突,然后执行:
git add <conflicted-file> # 标记冲突已解决 git commit -m "Resolve merge conflict" # 提交合并结果 git push -u origin main(首次推送需用-u关联远程分支,后续可直接git push)。git pull origin main(在开始工作前执行,避免代码冲突)。