git 使用cases分析

本文介绍了如何在Git中删除已缓存的文件或文件夹,并提供了遇到make编译错误时的解决办法。通过git rm --cached命令可以有效清理不再需要的缓存文件,而遵循make clean的习惯有助于避免编译过程中的链接问题。
1. 如何删除git add 到cach里的文件或者文件夹
git status
git rm -r --cached ./dir
git status


这样原来dir目录下git add 的文件,全被退回,但是文件还在。



2. git make总是出错,说文件链接不存在,但是别人都没有问题,都可以编。。

 make 之前一定要make clean ,保持良好习惯,不做clean 已经编译过的没有修改的就不会在编,但是可能因为其他文件修改,添加,删除,出现链接问题。正确的姿势是:

make clean ;

make x86 




在测试驱动开发(TDD)与 Git 版本控制系统的结合中,Git 提供了对代码变更的追踪能力,使得开发者可以在编写测试和实现代码的过程中保持良好的版本管理。这种协作方式不仅增强了代码的可维护性,也提升了团队协作效率。 ### TDD 与 Git 的关系 1. **支持迭代式开发** 在 TDD 中,开发过程通常遵循“红-绿-重构”循环:先编写失败的单元测试(红),然后编写最小量的代码使其通过测试(绿),最后优化现有代码结构(重构)。每次完成一个循环后,可以使用 Git 将更改提交为一个小的、逻辑完整的提交单元。这有助于确保每个功能点都有对应的测试用例,并且版本历史清晰可追溯。 2. **便于回滚与调试** 如果某个重构或新功能引入了问题,Git 允许开发者轻松回退到之前的稳定状态,而不会影响整个项目进度。由于 TDD 要求所有代码都由测试覆盖,因此即使进行多次修改,也可以快速验证是否破坏了现有功能。 3. **促进持续集成/持续交付 (CI/CD)** Git 与 CI/CD 工具(如 Jenkins、GitHub Actions 等)集成时,每当有新的提交推送到仓库,系统会自动运行测试套件来验证代码质量。这种机制非常适合 TDD 实践者,因为它确保了每次提交都经过严格的测试验证。 4. **分支策略的应用** 在大型项目中,开发者可能会采用 Git Flow 或其他分支策略来进行特性开发、发布管理和热修复等工作。结合 TDD,每条分支上的代码都可以保证其测试覆盖率,从而降低合并冲突的风险并提高整体代码稳定性。 5. **提升团队协作效率** 当多人共同参与同一项目时,Git 提供了强大的合并和冲突解决机制。借助 TDD,每位成员都可以独立开发各自的功能模块,并通过频繁的小规模提交保持与其他人的工作同步。此外,Pull Request(PR)流程还可以用于审查代码变更及其相关测试用例,进一步保障代码质量和安全性。 6. **利用 Git 提交信息增强文档记录** 每次提交时附带清晰的信息描述可以帮助后续维护人员理解该次更改的目的及背景。例如,在提交信息中说明新增了哪些测试用例或修复了哪个 Bug,这对于长期维护非常有帮助。 7. **IntelliJ IDEA 快捷键辅助 TDD 和 Git 集成** 开发者可以利用 IDE 内置的 Git 插件以及快捷键简化日常操作,比如 `Ctrl+K`(Windows/Linux)或 `Cmd+K`(MacOS)用于打开提交窗口查看未提交的改动;`Alt+9` 打开 Git 工具窗口以浏览分支历史等[^3]。这些工具能够显著提升工作效率。 8. **测试覆盖率分析结合 Git 历史** 使用 IntelliJ IDEA 查看测试覆盖率时,可以通过插件显示哪些部分已经被充分测试,哪些尚未覆盖。结合 Git 日志,可以追踪特定文件或方法随时间推移的变化趋势,进而评估其测试完整性。 ### 示例:TDD 流程中的 Git 使用 假设正在开发一个简单的 Python 函数 `add(a, b)`,目标是返回两个数之和。按照 TDD 方法论,首先需要编写一个失败的测试用例: ```python import unittest class TestMathFunctions(unittest.TestCase): def test_add(self): self.assertEqual(add(1, 2), 3) if __name__ == '__main__': unittest.main() ``` 此时运行测试会失败,因为 `add` 函数还未定义。接下来创建 `add` 函数实现: ```python def add(a, b): return a + b ``` 再次运行测试确认成功后,将这两个文件添加至 Git 并提交: ```bash git add math_functions.py test_math_functions.py git commit -m "Implement add function with corresponding unit tests" ``` 随后进入重构阶段,可能对 `add` 函数进行性能优化或者增加异常处理逻辑。完成后再次提交更新: ```bash git add math_functions.py git commit -m "Refactor add function to handle edge cases" ``` 这样,每一次重要的代码变动都被记录下来,并且伴随着相应的测试用例,形成了完整的开发轨迹。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值