Git项目管理子模块,子模块-研发项目管理

>>Git项目管理子模块,子模块-研发项目管理

Git项目管理子模块,子模块-研发项目管理

引言:当今社会市场竞争激烈,软件开发企业想要占据前列需要在研发管理上下功夫,“向管理要效益”已经成为软件开发企业的共识,研发项目管理在软件企业中的普及也是大势所趋。国内做软件项目管理工具的开发商翼发云近几年发展十分迅速,越来越多的软件开发企业认识到研发项目管理的重要性,能切实有效降低成本,规范软件开发流程,提高软件产品质量。国内研发项目管理系统、敏捷开发管理工具的领导品牌翼发云敏捷项目管理系统采用可视化业务流程技术,支持瀑布模型等传统软件研发项目管理,同时也支持scrum等敏捷开发流程,是理想的敏捷开发管理工具,涵盖软件项目管理工作的整个生命周期。为提高国内软件开发企业的项目管理水平,分享一篇企业管理相关的知识文章。

使用场景

当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能。

常用命令

git clone <;库& gt --递归;递归方式克隆整个项目的Git子模块添加库>;<;<;路径>;git init初始化模块添加子模块子模块子模块子模块更新更新git git git pull拉所有的子模块,每个子模块

如何使用它

1。创建带模块的版本库。

例如我们要创建如下结构的项目 scrum

项目| --模块| --readme.txt

创建project版本库,并提交readme.txt文件

git init --裸project.git git clone project.git Project1的CD中回声“CD”,“正确的方式”,“对与错”。

创建moduleA版本库,并提交a.txt文件 软件项目管理

git init --裸modulea.git git clone modulea.git modulea1 CD modulea1回声“CD”,“正确的方式”,“对与错”。

在project项目中引入子模块moduleA,并提交子模块信息

CD中Git子模块添加/ modulea.git git git diff命令、状态。

使用git status可以看到多了两个需要提交的文件,其中gitmodules。指定submodule的主要信息,包括子模块的路径和地址信息,模块指定了子模块的commit id,使用git diff可以看到这两项的内容。这里需要指出父项目的git并不会记录submodule的文件变动,它是按照commit id指定submodule的git header,所以gitmodules。模块这两项是需要提交到父项目的远程仓库的。 敏捷开发流程

你是最新的master分支的分支with'origin /硕士。变化,起源/硕士”,“”,“”,“X”,“…”

2。克隆条形模块的版本库

方法一,先clone父项目,再初始化submodule,最后更新submodule,初始化只需要做一次,之后每次只需要直接update就可以了,需要注意submodule默认是不在任何分支上的,它指向父项目存储的submodule commit id。

git clone project.git git init Git项目CD项目子模块子模块更新。

方法二,采用递归参数--递归,需要注意同样submodule默认是不在任何分支上的,它指向父项目存储的submodule commit id。 研发项目管理

git clone project.git项目--递归

三.改性剂

修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新的子模块代码,我们需要更新父项目中submodule commit id,默认的我们使用git status就可以看到父项目中submodule commit id已经改变了,我们只需要再次提交就可以了。

CD项目/模块、分支回声”这是一个模块。“>;b.txt,b.txt,“侯”,“对与错”。

4。更新子模块

更新子模块的时候要注意子模块的分支默认不是master。

方法一,先pull父项目,然后执行Git子模块更新,注意moduleA的分支始终不是master。

CD项目git pull Git子模块更新CD。

方法二,先进入子模块,然后切换到需要的分支,这里是master分支,然后对子模块pull,这种方法会改变子模块的分支。

CD项目/模块,git checkout大师CD。Git子模块为git pull CD。

5。删除子模块

网上有好多用的是下面这种方法

Git的RM -缓存模块RM -射频模块gitmodules vim.git/config RM。

删除submodule相关的内容,例如下面的内容

[子]”、“URL = /用户/尼克/ dev /尼克医生/ testgitsubmodule / modulea.git

然后提交到远程服务器

git add。git commit -m“删除子模块”

但是我自己本地实验的时候,发现用下面的方式也可以,服务器记录的是gitmodules。模块,本地只要用git的删除命令删除moduleA,再用git status查看状态就会发现.gitmodules和moduleA这两项都已经改变了,至于.git/config,仍会记录submodule信息,但是本地使用也没发现有什么影响,如果重新从服务器克隆则.git/config中不会有submodule信息。

git git git commit RM模块状态- M”删除子模块“git push

文章从互联网整理而来,旨在传播scrum、软件项目管理、研发项目管理、敏捷开发管理工具的知识与应用,帮助软件开发企业真正了解研发项目管理的价值和意义,如果本文侵犯了您的权益或者您需要具体了解更多国内做研发项目管理系统的公司翼发云敏捷项目管理系统的相关信息,欢迎和我们联络:

【网址】www.effapp.com

2018-02-12T19:45:33+08:002018-02-12 19:45:33|Categories: scrum项目管理|