前记:在git之前依稀记得有SVN去管理代码仓库,现在多用git去管理我们的代码;现在一般的项目大多数是多人同时开发,这样就会存在一个问题就是如何去协调开发;这也是lz当前使用git开发管理的些许经验,特记录下以供参考!

  step1-------git常用命指令:

//git init     ----在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.
//git clone ----获取一个url对应的远程Git repo, 创建一个local copy.一般的格式是git clone [url].
//git status ----查询repo的状态 git status -s: -s表示short, -s的输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言.
//git log ----查看本地分支操作记录
//git add ----在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动.
//git add . ----会递归地添加当前工作目录中的所有文件.
//git commit ----提交已经被add进来的改动.git commit -m “the commit message"
//git push ----提交本地分支到远程分支
//git branch ----git branch可以用来列出分支,创建分支和删除分支.
//git branch -v----可以看见每一个分支的最后一次提交.
//git branch: ----列出本地所有分支,当前分支会被星号标示出.
//git branch (branchname): 创建一个新的分支(当你用这种方式创建分支的时候,分支是基于你的上一次提交建立的).
//git branch -d (branchname): 删除一个分支.
//git checkout (branchname) ---切换到其他分支
//git checkout -b (branchname): 创建并切换到新的分支.
//git merge ----把一个分支merge进当前的分支.
//git tag ----会在一个提交上建立永久性的书签,通常是发布一个release版本或者ship了什么东西之后加tag.
//git pull ----git pull会首先执行git fetch,然后执行git merge,把取来的分支的head merge到当前分支
//git remote -v:可以看见每一个别名对应的实际url.
//git remote add [alias] [url]: 添加一个新的remote repo.
//git remote rm [alias]: 删除一个存在的remote alias.
//git remote rename [old-alias] [new-alias]: 重命名.
//git remote set-url [alias] [url]:更新url. 可以加上—push和fetch参数,为同一个别名set不同的存取地址.
//git revert ---- git revert HEAD: 撤销最近的一个提交.

  以上为git常用的一些命令,当然有兴趣的同学可以阅览廖雪峰的git教程;PS:lz工作中用的是sourceTree界面git管理工具;感兴趣的同学可以参考这篇博文sourceTree入门

  step2------进入正题;如何多人进行开发

  首先lz展示下开发中的git仓库分支;

  

  正如上图lz有一个release远程分支,这个是线上的项目分支;这里面的代码确保是线上最新的代码;同时,还有其他每个开发同学的对应分支,这些分支都是从release中创建出来的。每新增一个开发同学,第一件事就是从release分支上创建一个属于自己的分支;

  比如:现在A、B同学有个需求就是添加一个首页弹窗和新增页面需求;我们的工作流程是如下图:

  

  整体的流程按照如此去做即可,我们其实在项目中还会遇到一些情况,就是webpack中一些配置信息的冲突;所以我们一般是把项目分为业务负责人以及公共模块负责人,这样一些公共部分只有这个同学去负责人就好,其他人只需去更新自己的代码以及业务代码;还有一些vue项目会涉及到配置各自页面路由时候会引起冲突;这里建议用路由合并的方法避免冲突即可;

  最后还有一点一定要求每个同学一定要做好代码提交以及更新;不然比较头疼,只要大家按部就班,多人开发还是比较愉快的。

  由于近期一直在思考这个项目管理的问题,所以一定要按照流程做事这样才能提高效率;

  以上仅为个人看法,欢迎提意!

  

  

  

多人合作项目如何去管理git仓库的更多相关文章

  1. 本地项目关联到远程git仓库

    本地项目关联到远程git仓库 场景是这样的:在gitee-code上新建一个项目,gitee会帮你把项目初始化,初始化之后会根据你的选择生成默认的说明文件和gitignore文件.这个时候你就可以复制 ...

  2. 将已有项目同步到远程git仓库(github,gitee)及giteee的visual studio插件使用一二

    一.将已有项目同步到远程仓库的最简便方法是用git bash: 将已有项目同步到远程仓库有两种方法:1用git bash:2.用vs插件,两者的思路和步骤基本一致的. 实验发现,如果用vs插件,bas ...

  3. 如何将本地的项目推送至git仓库

    转载:https://www.jianshu.com/p/31dea20b0084 1.cd projectName probjectName是项目文件夹的名字, 先进入项目文件夹 2.git ini ...

  4. JAVA 使用jgit管理git仓库

    最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下. JGit是一款pure java的软件包,可以读写git仓库,下面介绍基本使用. 引入jgit maven引 ...

  5. 使用git将本地项目上传至git仓库

    个人博客 地址:https://www.wenhaofan.com/article/20190508220440 介绍 一般来说开发过程中都是先在git创建远程仓库,然后fetch到本地仓库,再进行c ...

  6. 使用linux安装gitolite管理git

    系统:centos7 服务器:阿里云 一.前期准备 1.安装git yum install git 2.安装perl yum install perl 3.安装openssh yum install ...

  7. 将本地已有的一个项目上传到新建的git仓库的方法

    将本地已有的一个非git项目上传到新建的git仓库的方法一共有两种. 一. 克隆+拷贝 第一种方法比较简单,直接用把远程仓库拉到本地,然后再把自己本地的项目拷贝到仓库中去.然后push到远程仓库上去即 ...

  8. 怎么将本地已有的一个项目上传到新建的git仓库的方法

    将本地已有的一个非git项目上传到新建的git仓库的方法一共有两种. 一. 克隆+拷贝 第一种方法比较简单,直接用把远程仓库拉到本地,然后再把自己本地的项目拷贝到仓库中去.然后push到远程仓库上去即 ...

  9. Git初始化本地仓库及管理远程仓库github

    1.首先在本地安装git,地址:https://git-scm.com/downloads.下载安装好git工具. 2.将自己在github上的注册的用户名和邮箱写入本地git的配置文件中: (1). ...

随机推荐

  1. mybatis中 keyProperty="id" 的作用

    keyProperty="id"的作用是: 一般都是结合数据库自动生成主键来使用,由于是数据库生成的主键, 所以在这个对象持久化到数据库之前是对象中的这个属性是没有属性值的,但是在 ...

  2. Java(15) 多态

    一.多态  1.1 多态:一个事物的多种形态  1.2 多态的表现 行为(方法)多态:重写和重载. 引用多态(动态绑定):编译时的类型和运行时不一致的这种现象 例:父类 = 子类 Pet p = ne ...

  3. 零基础开发一款微信小程序商城

    零基础开发一款微信小程序商城 一个朋友问我能不能帮忙做个商城?我一个完整网页都写不出的 菜鸟程序员,我该怎么拒绝呢?好吧,看在小程序这么火的形势下,我还是答应了!找了个开源项目,差不多花了三天时间搞定 ...

  4. java字符串转为Map类型:split()方法的应用

    方法一: package com.thinkgem.jeesite.modules.socketTest.demo2; import java.util.HashMap; import java.ut ...

  5. 分布式系列十: Redis安装和命令

    redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 字符类型String 散列类型Hash 列表类型List 集合类型Set 有序集合类 ...

  6. C语言中 if 和 else if 的区别

    先看代码:我们本意是对i不同的值有不同的判断. #include<stdio.h> int main(void) { ; ) { i++; printf("%d\n", ...

  7. java学习笔记09-类与对象

    物以类聚,人以群分,我们把具有相似特性或品质的物体归为一类. 类:类是一种模板,它描述一类对象的行为和状态. 对象:对象是类的一个实例,有状态和行为. 比如在一支nba球队中,每个球员都有球衣号码,场 ...

  8. Vue + Element UI项目初始化

    1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...

  9. Fiddler之iOS手机抓包实战操作

    准备工作: 1.Fiddler是否安装 2.笔记本的360免费WiFi即可 步骤: 1.官网下载Fiddler并安装 2.打开Fiddler,点击上方Tools,进入Options,选择HTTPS,按 ...

  10. The import javax.servlet.jsp.JspException cannot be resolved

    问题描述   重新更换了 Apache Tomcat 的版本,在 Eclipse 中项目报错信息:The import javax.servlet.jsp.JspException cannot be ...