源码管理与协作
SVN
Git
相关命令操作
- 配置
git config --global user.email "xxxx" git config --global user.name "xxxx" # 配置密钥 ssh-keygen -o -t rsa -b 4096 -C "xxxx@foxmail.com" ``` + 操作 ```shell cd xxx git init git add . git commit -m 'first commit' git remote add origin http://xxxx git push -u origin master #会提示输入用户名密码或使用ssh方式,添加SSH-Key,免密登陆 - 其他
#不同操作系统 回车换行处理 git config --global core.autocrlf false忽略某些文件
.gitignore文件
bundle
firefly更新是用bundle
更新原厂的代码,有的时候发的patch,有的是发的bundle
当你在没有合适的网络或者可共享仓库的情况下,git bundle 很适合用于共享或者网络类型的操作
用git bundle create命令来打包
git bundle create repo.bundle HEAD master
然后你就会有一个名为 repo.bundle 的文件,该文件包含了所有重建该仓库 master 分支所需的数据
用git bundle verify校验是否合法
用git bundle list-heads列出顶端提交
解压
git clone repo.bundle bundle -b master
git clone xx.bundle xxx
https://www.jianshu.com/p/eebe5dc8ee91
管理与协作策略
工作流
- gitlab flow
- github flow
- Git Flow
issue:
bug,需求或想法,任何与项目有关的问题
强烈建议跟项目有关系的事情,不要放在脑子里,放在issues中。而我们每天上班的第一件事就是看issues,了解项目相关的问题
milestone(里程碑)
labels
branch
先fork一个dev分支
如果正在开发或维护某个分支, 最好每天至少一次推送到dev分支
master分支保持稳定的发布版本
diff & patch
Kernel:
diff -Nru -x "*.o" -x "*.tmp" -x "*.cmd" -x "*.s" -x "*.map" -x "*.map" -x "*.builtin" -x "config_data.h" -x "Module.symvers" -x "*.lds" Kernel_v2.3 Kernel_v2.3-spon > kernel_diff.patch
Uboot:
diff -Nru -x "*.o" -x "*.srec" -x "*.cmd" -x "*.map" -x "*.s" -x "*.su" -x "zconf.hash.c" -x "zconf.lex.c" -x "zconf.tab.c" U-Boot_v2.3 U-Boot_v2.3-spon > uboot_diff.patch
补丁:
patch -p1 <本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论





