团队开发项目时的git操作

团队开发项目时的git操作

团队协作开发中,大部分都会用到版本控制软件,比如Git,Svn等.平时自己在写项目的时候,最后会把自己的代码push到github上,因为是个人开发,所以经常用的就是add,commit,push,还有建仓库的那几个命令.但是在开始和其他组合作开发项目之后,就要开始学习更正规的git操作了,下面是我刚入门的一些总结

分支

在这里插入图片描述
在一个项目仓库刚被创建的时候,我们处于默认的master分支,上图描述了一个项目在版本更新的时候会用到的分支,下面介绍一下各个分支.

  • 1.master分支,即主分支。任何项目都必须有个这个分支。对项目进行tag或发布版本等操作,都必须在该分支上进行。

  • 2.develop分支,即开发分支,从master分支上检出。团队成员一般不会直接更改该分支,而是分别从该分支检出自己的feature分支,开发完成后将feature分支上的改动merge回develop分支。同时release分支由此分支检出。

  • 3.release分支,即发布分支,从develop分支上检出。该分支用作发版前的测试,可进行简单的bug修复。如果bug修复比较复杂,可merge回develop分支后由其他分支进行bug修复。此分支测试完成后,需要同时merge到master和develop分支上。

  • 4.feature分支,即功能分支,从develop分支上检出。团队成员中每个人都维护一个自己的feature分支,并进行开发工作,开发完成后将此分支merge回develop分支。此分支一般用来开发新功能或进行项目维护等。

  • 5.fix分支,即补丁分支,由develop分支检出,用作bug修复,bug修复完成需merge回develop分支,并将其删除。所以该分支属于临时性分支。

  • 6.hotfix分支,即热补丁分支。和fix分支的区别在于,该分支由master分支检出,进行线上版本的bug修复,修复完成后merge回master分支,并merge到develop分支上,merge完成后也可以将其删除,也属于临时性分支。

git命令

1.develop分支的创建与使用

git branch develop master    # 从master分支上新建develop分支
git checkout develop    # 检出develop分支

 #此处可进行功能开发,并add和commit到develop分支

git push origin develop    # 推送develop分支到远端的origin/develop

2.新增成员分支

git clone xxxx.git
git checkout develop
git checkout -b feature-xx develop    # 从develop分支新建并检出feature分支

//此时“xianhu”做如下操作,并首先第一个提交到了Github远端:
git checkout -b feature-hu develop    # 从develop分支新建并检出feature分支
#这里可以进行一些功能开发,并不断的add和commit
git checkout develop    # 切换回develop分支
git pull origin develop    # 更新远端代码,看develop分支是否有更新(无更新)
git checkout feature-hu    # 切换回feature分支
git rebase develop    # 合并develop分支到feature分支,并解决冲突(无冲突)
git checkout develop    # 切换回develop分支
git merge --no-ff feature-hu    # 合并feature分支到develop分支
git push origin develop   # 推送develop分支到远端

3.提交遇到冲突

git checkout -b feature-zz develop    # 从develop分支新建并检出feature分支
# 这里可以进行一些功能开发,并不断的add和commit
git checkout develop    # 切换回develop分支
git pull origin develop    # 更新远端代码,看develop分支是否有更新(有更新)
git checkout feature-hu    # 切换回feature分支
git rebase develop    # 合并develop分支到feature分支,并解决冲突(有冲突)
# 这里需要进行冲突解决
git add .    # 解决完冲突之后执行add操作
git rebase --continue    # 继续刚才的rebase操作
git checkout develop    # 切换回develop分支
git merge --no-ff feature-zz    # 合并feature分支到develop分支(无冲突)
git push origin develop   # 推送develop分支到远端

目前用到就这些,以后遇到新的操作还会更新

猜你喜欢

转载自blog.csdn.net/wintershii/article/details/87716912