选择使用GIT来进行版本控制,除了它可以随时提交更新,速度快,和对分布式开发的强大支持外,
还有一点就是因为它提供多分支开发的操作便捷性,相对SVN来说要方便和快捷很多. 下面就根据NLB
KSI项目为例说明一下GIT环境下,如何正确的进行多分支开发以及一些需要注意的事项.
首先,在项目进入SPRINT开发阶段之前,组内的每个组员应该都GIT的基本操作有一定的了解,然后在本地安装和配置GIT环境详见(http://www.ufinity.cc/wiki/pages/viewpage.action?pageId=23363736),
由新加坡PM或者是组长在master分支上创建开发主分支 marchant (分支名称)
branch:master
>git branch marchant //创建分支
>git push origin marchant //把创建好的提交分支到远程
所有的开发工作都会在SPRINT结束时,合并到marchant分支里面.
然后,
在我们进行SPRINT需求分析的时候,会根据不同的模块(portlet)进行分配任务,一个组员在当前SPRINT可能会负责其中一个模块的开发工作,这样就可以为该模块创建一个子分支,例如:TOM在sprint
1里面负责user Sign in portlet, 需要在marchant 分支下面为创建一个新的子分支 6152447(取自SG
pivotaltracker分配的任务编号),这样在sprint 1开发期间TOM只允许在 6152447
分支里面进行提交代码. 如果是由于模块较大,或者功能比较复杂,需要多人协作开发完成,可以让俩个或者多个组员在同一个子分支进行开发.
(注意: 在多个组员在同一分支进行开发的时候,组员要养成经常更新代码的习惯,避免在长时间不更新代码以后,出现文件冲突的情况.)
还有一种情况是经常遇到的,对于公共代码的共享问题, 比如项目里DB层代码,工具类等. 例如: TOM在sprint1里面开发的时候,需要用到一些验证工具类,
然后JERRY已经所在的另外一个分支 6200397下面,添加了这些验证类, 并且满足TOM的需求, 这样就需要分支之间进行合并操作了.
操作步骤:
JERRY:
> git checkout 6200397 //切换到6200397
> git pull origin
marchant //更新marchant分支
> git push origin 6200397 //提交验证类到远程
TOM:
> git checkout 6152447 //切换到6152447
> git pull origin marchant
//更新marchant
> git merge origin 6200397
//合并远程6200397的验证类代码到6152447分支.至此TOM已获得需要的验证类.
最后在SPRINT结束的时候,需要把所有子分支的内容合并到主开发分支里面去.
如果想从另外一个分支更新代码到当前分支,可以直接使用:
> git pull origin newbranchname
这样就可以不用切换分支和MERGE了.
注意: 想要从本地删除一个分支,可以直接用 git branch -d branchname, 如果失败了,并确认必须删除,就可以用 git branch
-D branchname,来进行强制删除, 在本地删除以后, 如果还想把远程对应的分支也删除的话,可以用git push origin
:heads/branchname 来删除远程分支.
分享到:
相关推荐
2、保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。 3、Git离线操作性:Git可以离线进行代码提交...
explain-git-with-d3 使用 D3 对 git 的分支操作进行简单的可视化展示。 标签:explain
1、Git介绍和使用教程,主要针对新手入职快速自学git的使用,也可供大佬面向学校或者公司培训使用,根据多年经验总结和整理出来的课程,上手工作使用的git知识这里全都有,如果是想用来制作自己的培训课程的话,简单...
MrtfGitFlow4Idea插件是一款基于mrtf-git-flow分支管理流程的Idea插件,它最主要的作用是用来简化分支管理流程,最大限度的防止误操作。
您可以使用"git 帮助命令"了解有关单个 Git 命令的详细了解。gitcli[7]手动页面为您提供命令行命令语法的概述。 可以在以下位置或https://git.github.io/htmldocs/git.html查看最新 Git 文档的...
Git开发操作流程v1.0 Git使用笔记 目录: Git开发操作流程 2 1. 新建分支 2 # 1-查看当前git状态 2 # 2-若不在主分支master,则切换至主分支 2 # 3-更新主干代码,确保本地仓库与远程同步 2 # 5-推送至远程仓库 2 2. ...
git checkout -b xxx # 基于当前分支创建xxx分支并切换到xxx分支 git checkout xxx # 切换到xxx分支 git checkout -d xxx # 删除本地xxx分支 git checkout -- readme.txt 撤销修改:1. 文件在添加到缓存区...
git-trim git-trim自动修剪您的跟踪分支,其上游分支已合并或偏离。 git-trim是git f缺少的伴侣git-trim git-trim自动修剪您的跟踪分支,其上游分支已合并或偏离。...它在依赖condi的情况下使用git2
Git-it 挑战Get Git 安装和配置 GitRepository 创建本地仓库Commit to it 检测状态,添加 commit 修改GitHubbin 获取一个 GitHub 账号Remote Control 连接本地仓库来在 GitHub.com 远程操作 Forks and Clones Fork ...
Git常用命令--文件目录操作命令--git初始化操作--git 克隆分支--clone 远程分支--查看命令--版本回退--撤销修改--分支管理--tag相关
gti详细的分支操作,在git中,可以使用git merge 和git rebase两个命令来进行分支的合并。 git merge 和git rebase在大体上都差不多,下文主要以git merge来例来讲解分支的合并流程。 如果你想了解分支合并的更多...
本文将基于旧版 esp-idf 来进行 git 更新,环境配置等操作后再编译烧录程序至 ESP32-S2。 1. 使用 git 更新 esp-idf 至最新版本 首先需要进入到 esp-idf 目录下,然后进行 分支切换 与 版本更新,如下: cd ~/esp/...
ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...
Git的撤消操作 - 重置, 签出 和 撤消 维护Git 建立一个公共仓库 建立一个私有仓库 5. 高级技能 创建新的空分支 修改你的历史 高级分支与合并 查找问题的利器 - Git Bisect 查找问题的利器 - Git Blame Git和Email ...
每个分支都可以独立地进行修改、提交和合并操作。 一、查看可用分支 在终端或命令提示符中,导航到你的Git项目所在的目录,使用 cd 命令切换目录; 可以使用以下命令查看当前仓库中已存在的分支: git branch 该命令...
资源包括: 1. git安装包Git-2.20.1-64-bit.exe...为git提供了UI界面操作。 3. TortoiseGit-Language语言包,为了汉化使用。 4. 文档: 1. git学习相关的文档。包括详细介绍,常用命令,分支模型等。 2. 安装相关的文档
Git命令 -Git配置 -工作流程 -搭建 -文件操作 -忽略文件 -Git分支 -版本回退 -撤销修改 -删除文件 -合并解决冲突 -多人协作 -Rebase
2 5 远程仓库的使用 2 6 打标签 2 7 技巧和窍门 2 8 小结 3 Git 分支 3 1 何谓分支 3 2 分支的新建与合并 3 3 分支的管理 3 4 利用分支进行开发的工作流程 3 5 远程分支 3 6 分支的衍合 3 7 小结 4 ...
分支 首先,我们创建dev分支,然后切换到dev分支: $ git checkout -b dev Switched to a new branch '...git branch命令会列出所有分支,当前分支前面会标一个*号。 然后,我们就可以在dev分支上正常提交,比如对read
Git允许并鼓励您拥有多个彼此完全独立的本地分支。这些开发线的创建,合并和删除需要几秒钟。 这意味着您可以执行以下操作: 无摩擦上下文切换。创建一个分支来尝试一个想法,提交几次,切换回您的分支位置,...