目录
[1. 团队成员克隆远程仓库](#1. 团队成员克隆远程仓库)
[2. 创建并切换到新的功能分支](#2. 创建并切换到新的功能分支)
[3. 进行功能开发](#3. 进行功能开发)
[4. 提交更改到本地仓库](#4. 提交更改到本地仓库)
[5. 推送功能分支到远程仓库](#5. 推送功能分支到远程仓库)
[7. 拉取主分支的最新代码(其他开发者获取最新版本)](#7. 拉取主分支的最新代码(其他开发者获取最新版本))
[8. 解决冲突(如果有)](#8. 解决冲突(如果有))
[9. 定期更新本地仓库](#9. 定期更新本地仓库)
[10. 多开发者协作](#10. 多开发者协作)
安装Git

查看自己电脑,选择合适的

所以选第一个
下载需要架梯子

保留,下载完成后安装


安装提醒:
不要安装在中文目录!!!!!
使用默认设置即可,一路下一步
安装成功后,在任意目录下右击鼠标,看是否安装成功:
出现 Open Git Bash here 代表安装成功

Git配置用户信息
任意目录打开 Open Git Bash here

cpp
//配置用户名
git config --global user.name "gitee注册的用户名"
//配置邮箱
git config --global user.email gitee配置的邮箱
//查看配置
git config --list


本地初始化Git仓库(已创建好代码仓库,成员如何拉取)
1. 团队成员克隆远程仓库
每个团队成员首先需要从远程仓库克隆代码到他们的本地计算机。可以从gitee上获取克隆命令:
(1)

(2)

bash
git clone https://gitee.com/(具体项目信息从gitee上获取)
这会在各团队成员的本地计算机上创建一个与远程仓库相对应的本地仓库。
2. 创建并切换到新的功能分支
为了避免直接修改主分支(master 或 main),每个开发者都应该为自己负责的功能创建一个新分支。这样可以确保开发过程中不互相干扰。
例如,如果开发者要实现"蓝牙功能",可以创建并切换到一个名为 bluetooth-feature 的分支:
bash
git checkout -b bluetooth-feature
bash
git branch #查询当前分支
git checkout -b会创建一个新的分支并自动切换到该分支。
3. 进行功能开发
在各自的功能分支上开发代码。开发者可以进行修改、添加文件等,所有的更改都会被记录在本地分支中。
4. 提交更改到本地仓库
在开发完成后,使用以下命令将修改的文件添加到 Git 的暂存区,然后进行提交:
首先注意,如果团队成员还没有创建自己的分支,先创建分支。
bash
git checkout -b test_branch #创建名为test_branch的分支
bash
git branch #查看当前分支结构

把改动后的项目同步到本地暂存区:
bash
git add .
提交更改并附上提交信息:
bash
git commit -m "实现蓝牙功能"
git log #验证
git add .是将所有修改的文件添加到暂存区,准备提交。git commit -m "..."是提交更改并附上提交信息。
5. 推送功能分支到远程仓库
开发者完成了功能开发并提交到本地后,需要将分支推送到远程仓库,这样其他团队成员也能看到和获取这个分支:
bash
git push origin bluetooth-feature
bluetooth-feature是你创建的功能分支的名称。
6.更新主分支(开发者完成自己部分后更新仓库)
团队成员开发完成自己部分后,可以合并进去生成一个最新版本:
bash
git checkout master #1.切换到 master 分支
git pull origin master #2.拉取最新的远程 master
git merge test_branch #3.合并 test_branch 到 master
#4.解决冲突(如果有的话)
git push origin master #5.推送更新到远程 master
这样,你就成功地将 test_branch 合并到 master 分支了!
7. 拉取主分支的最新代码(其他开发者获取最新版本)
在每次合并前和合并后,开发者都需要确保团队成员的分支是最新的,避免与主分支产生冲突。使用以下命令拉取主分支的最新代码并与当前分支合并:
bash
git checkout master # 切换到主分支
git pull origin master # 获取远程仓库的最新代码
git checkout bluetooth-feature # 切换回开发功能的分支(bluetooth-feature)
git merge master # 将主分支的最新代码合并到功能分支
8. 解决冲突(如果有)
在合并时,可能会遇到代码冲突。Git 会提示冲突的文件,需要开发者手动解决。解决冲突后,使用 git add 添加解决后的文件,并重新提交:
bash
git add <file> git commit -m "解决合并冲突"
9. 定期更新本地仓库
为了避免长时间与主分支脱节,团队成员应定期拉取主分支的更新:
bash
git pull origin master
这有助于保持代码库的一致性,并减少合并时的冲突。
10. 多开发者协作
- 任务分配:为了更好地协作,可以使用项目管理工具(如 Gitee 的 Issues)来分配不同的任务给团队成员。
- 代码审查:进行代码合并时,确保其他团队成员参与代码审查,以保证代码质量。
- 持续集成(CI):你可以设置 CI 工具,自动检查代码的构建和测试,确保每次合并的代码都是稳定的。
总结:
- 每个开发者在开发时应该创建独立的分支。
- 完成功能后,进行提交并推送到远程仓库。
- 通过 Pull Request 合并代码到主分支,进行代码审查。
- 定期更新本地仓库并解决合并冲突。
通过这种方式,团队可以确保项目的不同功能同时开发,并避免不同开发者之间的代码冲突,保持项目的稳定性。
配置忽略文件
git是根据文件的修改时间更新状态的,这就导致有些编译生成的临时文件也会被标记,影响我们同步代码时判断有哪些文件改变,所以我们要配置忽略文件,忽略例如.o文件等一些不必要的文件的变化,重点关注与工程项目相关的.c文件和.h文件等重要的文件。
下面是示例
创建:
bash
touch .gitignore
下面是开发stm32工程常用到的一些忽略文件的配置
bash
# 忽略编译产生的文件和文件夹
/build/
/Debug/
/Release/
/*.elf
/*.bin
/*.hex
/*.axf
/MDK-ARM/
# 忽略 STM32CubeMX 生成的配置文件
/.project
/.cproject
/*.ioc
# 忽略 IDE 配置文件(如 Keil, IAR, STM32CubeIDE 等)
/.settings/
/*.swp
/*.vscode/
/*.idea/
/*.db
/.vscode/
*.log
# 忽略临时文件和操作系统生成的文件
.DS_Store # macOS 系统生成的文件
Thumbs.db # Windows 系统生成的文件
*.bak # 临时备份文件
*.swp # 临时交换文件
*.tmp # 临时文件
# 忽略用户配置文件(如环境设置文件等)
*.env
# 忽略其他可能的构建工具生成的文件
*.out
# 忽略生成的临时文件
*.o