源码管理与协作
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!
评论