logo资料库

git使用规范(绝密).pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
git 使⽤规范 1 ⽬的 开发⼈员 git 使⽤流程(规范) 2 提交规范 2 分⽀建⽴规范 新功能开发分⽀建⽴规范 4 发布规范 4 4 目的 作效率。 此规范会不断地完善。强制执⾏! 规范 git 的使⽤是为了避免 git 中央仓库分⽀混乱,导致发布出问题,提升我们的⼯  使⽤Git过程中,必须通过创建分⽀进⾏开发,坚决禁⽌在主⼲分⽀上直 接开发。review的同事有责任检查其他同事是否遵循分⽀规范。    在Git中,默认是不会提交空⽬录的,如果想提交某个空⽬录到版本库 中,需要在该⽬录下新建⼀个 .gitignore 的空⽩⽂件,就可以提交了   把外部⽂件纳⼊到⾃⼰的 Git 分⽀来的时候⼀定要记得是先⽐对,确认 所有修改都是⾃⼰修改的,然后再纳⼊。不然,容易出现代码回溯   多⼈协作时,不要各⾃在⾃⼰的 Git 分⽀开发,然后发⽂件合并。正确 的⽅法应该是开⼀个远程分⽀,然后⼀起在远程分⽀⾥协作。不然,容易出现 代码回溯(即别⼈的代码被覆盖的情况)   每个⼈提交代码是⼀定要 git diff 看提交的东西是不是都是⾃⼰修改 的。如果有不是⾃⼰修改的内容,很可能就是代码回溯   review 代码的时候如果看到有被删除掉的代码,⼀定要确实是否是写代 码的同事⾃⼰删除的。如果不是,很可能就是代码回溯 开发人员 git 使用流程(规范)
1-9项所有开发⼈员严格执⾏ 1. 下载代码(克隆分⽀) git clone git@gitserver.com:/path/project –b dev project 1) -b dev 指定想要下载的分⽀,去掉省略的话下载的是默认分⽀ 是master(注:默认分⽀可以修改) 2) project是我想要在本地创建的git库⽂件夹名字 2. 切换到分⽀,保证当前所在分⽀都已经提交完成 git ckeckout developer 3. 基于开发分⽀新建本地开发分⽀进⾏代码修改 git checkout -b lufei 4. 更新代码(注:每次修改前养成同步更新代码的好习惯) git pull --rebase 如果提⽰冲突,说明本地git库中未⼊库的提交中有修改和代码库中冲突了,修改冲 突⽂件并删除冲突标识<<<<< ==== >>>>后: git add 冲突⽂件名 //加⼊git index中 git rebase –continue //继续更新到最新的base上 5. 修改、增加或删除代码⽂件到git index缓存中: 修改或新增加代码⽂件: git add file_name 删除代码⽂件: git rm file_name 6. 提交本地git库index缓存中的修改
git commit –m “just a test for commit ” 如果本地修改不对或commit的LOG需要修改可以使⽤: git commit –-amend //修复上⼀次提交,不要修改Merge提交 在提交代码时还要注意判断对代码的修改是否是⾃⼰的,多⽤diff⼯ 具,多查看log,防⽌代码回溯。 7. 更新代码(注:每次push前养成同步更新代码的好习惯) git pull --rebase 如果提⽰冲突,说明本地git库中未⼊库的提交中有修改和代码库 中冲突了,修改冲突⽂件并删除冲突标识<<<<< ==== >>>>后: git add 冲突⽂件名 //加⼊git index中 git rebase –continue //继续更新到最新的base上 8. 推送提交到服务器上的git库中 git push 注:默认会推送到我们下载git库时的-b 后⾯加的那个分⽀,没有加 默认是master,这个命令完整版实际上是: git push origin 当前分⽀名:我们下载的分⽀名 9. 解消代码冲突 git merge xxxx_branch 或者 git pull 时 or git rebase xxxx_branch 或者 git pull --rebase 时 解消⽅法也是修改冲突⽂件并删除冲突标识<<<<< ==== >>>: git rebase –continue //继续更新到最新的base上 10. 代码提交前合并其他团队⼈员的提交 git checkout developer git pull origin developer 11. 将developer开发分⽀合并到⾃⼰修改的分⽀,并解决冲突 git checkout lufei git merge developer
12. 本地测试是否正常运⾏ 13. 切换到 developer 分⽀,合并本地分⽀,提交 git checkout developer git merge lufei git push origin developer 如果在测试过程别⼈有提交,这个 push 会有冲突,需要先 pull 为了尽量减少冲突, 功能模块的开发⼀定要细分,每个开发⼈员负责⼀个模块的开发,尽量不要去修改 其他团队成员模块的代码。每个开发⼩组的负责⼈切记做好功能开发细分! 提交规范 禁⽌使⽤-ff or –force 等强制提交,覆盖中央仓库的内容,除⾮你知道你在做什 么! 不要各⾃在⾃⼰的 Git 分⽀开发,然后发⽂件合并。正确的⽅法应该是开⼀个 远程分⽀,然后⼀起在远程分⽀⾥协作。不然,容易出现代码回溯(即别⼈的代码 被覆盖的情况) 提交说明的结构 括号中为可选): 当提交内容简单时,尽量⽤的⼀句话描述”做了什么”。句⼦结构可以分解为(⽅ 动作+组件+[原因-索引] 动作:即提交的⾏为,句⾸字母⼤写。有⽂章认为只使⽤ Update、Add、Remove三 个动作就可以满⾜使⽤。但是为了更精准地描述,我还是倾向于使⽤其它动词,下 图有常见的动作⽤词。每⼀次提交只应该有⼀个动作,多个动作请适当拆分。 组件:指的操作内容,应该⽤精准的名称,类名⽅法名等,⽅便快速定位。不应该 提供宽泛的⽂件名。 原因及索引:必要情况下⽤精简的语句描述原因,有问题追踪系统的话可以指向
相应的 ID。 分支建立规范 所有项⽬采⽤分⽀开发⽅式,分⽀分为开发分⽀、新功能分⽀、修复分⽀、其他⽀和 master 分⽀ 分⽀ 命名 说明 master developer feature bugfix-{date} 随意 发布分⽀ 主要的提交分⽀ 新功能分⽀ bug 修复分⽀ 特殊情况时建⽴的分⽀ master 分⽀ 开发分⽀ 功能能分⽀ 修复分⽀ 其他分⽀
新功能开发分支建立规范 有⼩组长负责创建通知组员。 ⼀项重⼤的功能,⼀定要新建⼀个分⽀,避免影响原来的 developer 分⽀,这个分⽀ 发布规范 1.⽣产环境必须使⽤主分⽀发布 2.测试环境使⽤ developer 或者 feature 分⽀
分享到:
收藏