办公室用Git管理代码,也是我第一次用Git在公司开发项目中,结果就出问题了,主线分支没做好,造成代码丢失,最后只能手动一点点的一点点的把代码补好。。。
本来应该昨天白天上线的东西,结果白天光整合代码了,一直折腾到半夜才上线成功。
要我说,就一个4个人的开发团队,用毛的Git,直接VSS或者TFS谁用什么就check out什么好了。。。
求个Git学习的文章呗。。。。
不要那种教怎么用命令行的文章,那种没用,现用现查都来得及。
我想要的是如何用Git管理好团队,什么时候创建分支?为什么要创建分支?什么时候合并?如果多人需要修改同一个文件的时候,如何合并保证所有人的修改都能被保护好?
我就是用的GitHub for mac的客户端,从来不用命令操作。
有些人可能会认为用命令比较牛逼,也有很多文章介绍这方面的,
但是我认为用最简单的方法达到我的目的才是重点。
我想要的是如何用Git管理好团队,什么时候创建分支?为什么要创建分支?什么时候合并?如果多人需要修改同一个文件的时候,如何合并保证所有人的修改都能被保护好?
公司开发,git一定要搭配gerrit使用, gerrit不仅仅用来做review,还充当了git remote server, CI (搭配Jenkins), 权限管理, Merge, QA, Release等角色。 remote端的branch不要多,有master/dev, stable/release之类的几个就够了, master/dev作为开发主线, stable/release交给QA管理,具体发布的时候在stable/release branch上加git tag.
对于个人的开发端, git branch随便建,鼓励topic branch, 也就是每个bug,每个feature都有自己的branch, 随时commit进local git repo. bug或feature完成了就先rebase成1个commit然后push到gerrit (git push gerrit HEAD:refs/for/master).
至于合并,git的merge从来就不用人去关心,gerrit上的commit如果通过了review, CI test和QA verify, 那么gerrit可以被配置成自动cherry-pick这个commit至主分支。
稍微转变下观念,特别是对branch和merge的理解,几个指导原则: