在这里主要讲一下我在项目中用到的关于gitflow的使用方法。

  公司的项目中,专门有一台用来存放版本号库的server,路径是在默认的安装文件夹/opt/git/,那么在使用的时候,假设你是一个功能模块或者是一个项目的发起者的话,那么你能够选择使用gitflow来进行管理,关于gitflow的优点在这里我就不在多讲了。

  1、首先在上面刚刚讲到的文件夹(注意这是在专门的盛放版本号库的那台server上)内,创建一个文件夹,比方说叫testflow.git.

  2、cd testflow.git  ---->  git --bare  init  //在这个文件夹下创建一个裸仓库,这个时候这个仓库里面是空的,什么都没有的,当然也还没有不论什么的分支。

注意:一下均是在本地机器上完毕的操作

  3、在本地的机器上(开发用的机器),在某个文件夹下比方project创建一个项目文件夹比方testproject ----> cd testproject  ---> rails new . //在当前文件夹下创建rails项目。

  4、git init  初始化本地的git仓库,注意这条命令会为我们在当前文件夹创建一个git仓库,并默觉得我们创建一个master分支

  5、编辑我们须要让git忽略的文件,即哪些文件不纳入到git的版本号库管理里面。cd  .git

vi .ignore ,进入到这个.ingore文件,输入那些须要让git忽略的文件夹活文件。

  6、配置git的基本信息。在当前用户的家文件夹,git的全局配置,存储于$HOME/.gitconfig里,这里的配置影响当前用户的全部git repo,或者命令行里,通过git config的--global參数开启全局配置。

$: git config --global user.name yyfrankyy

$: git config --global user.email yyfrankyy@gmail.com

  7、在做完上述配置之后,在当前项目的根文件夹执行git add .  将当前文件夹的全部变更的文件通知git进行记录

  8、git remote add origin test@192.168.0.139:/opt/nginx/testflow.git ---这句话的意思是 在本地配置文件中面记住这个远程库的地址和库的位置,并命名为origin

  9、git comit -m 'first commit' ----> 提交本地代码到仓库,并标识为first commit

  10、git push origin master --->把本地git仓库的代码提交到远程git库,假设你不知道远程库叫什么名字,那么你能够执行 git remote  这样就能够列出本项目中的本地git库与远程的哪个git相应。假设你想知道这个远程库的具体信息,那么你能够执行git remote show origin,这种话,就能够显示出这个远程库的基本信息来。

关于gitflow的安装:

a、git clone --recursive git://github.com/nvie/gitflow.git

b、sudo make prefix=/opt/gitflow install

c、在/etc/bash.bashrc中增加:

exprot $PATH = $PATH:/opt/gitflow/bin

d、source /etc/bash.bashrc

  11、git flow  init  ---利用gitflow为我们创建master分支和develop分支

  12、git checkout develop  ---->切换到本地的develop分支。

  13、git branch  ---看一下如今我们是不是已经在develop分支

      git branch -r  查看远程分支状况(一般为一个,master分支)

      git branch     查看本地分支及当前自己所在的分支

      git branch -a  查看全部分支(本地和远程)

  14、git flow feature start  test_feature --->在develop分支下创建一个feature分支,并命名为test_feature,以后我们全部的开发工作都应该在这个分支下完毕,在开发完毕后,我们要git status查看哪些文件都发生了变化,然后我们在git add . 将全部当前文件夹下的发生改变的文件通知本地git进行记录,然后 git commit -m 'xxxxx'提交代码到本地仓库

  15、然后再git flow feature finish test_feature 这种话,我们就把feature分支下的全部改变的代码都merge回了develop分支,git并为我们删除了刚才的test_feature分支,然后我们再git checkout master 跳转到本地的master分支,然后 git merge develop 把本地的develop代码merge回本地的master分支,

  16、git push orgin master  -----> 将本地master分支的代码提交到远程的master分支

  17、假设在上述全部操作都完毕后,我们还想再在刚才的基础上继续开发其它功能的话,那么我们再次跳转到develop分支然后再开feature分支,继续开发就能够了。

以上所述就是我本人在公司用到的gitflow尽心的项目代码的管理,此外关于git的配置,还有非常多内容没有说,这里给大家提供了几个网址,感兴趣的朋友能够去參考一下

http://intl-bcds.iteye.com/blog/652594

http://hi.baidu.com/fiction_junru/blog/item/c9f4a2ef2dde7d3b2cf53411.html

http://f2e.us/wiki/git-config.html





參考网址:http://wiki.samba.org/index.php/Using_Git_for_Samba_Development

git flow 的使用的更多相关文章

  1. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow[转]

    原文地址:http://www.cnblogs.com/cnblogsfans/p/5075073.html Git的优点 Git的优点很多,但是这里只列出我认为非常突出的几点. 由于是分布式,所有本 ...

  3. GIT FLOW 时序图

    git flow sequence md link: git branching model master->master branch: use default branch Note rig ...

  4. 基于git的源代码管理模型——git flow

    基于git的源代码管理模型--git flow A successful Git branching model

  5. git flow的使用

    简介 Gitflow工作流程围绕项目发布定义了严格的分支模型.尽管它比Feature Branch Workflow更复杂一些,但它也为管理更大规模的项目提供了坚实的框架. 与Feature Bran ...

  6. 引入git flow分支管理

    git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...

  7. git flow的安装和使用

    确保安装了git 1.windows系统下安装 进入cmd clone github上的gitflow到一个文件夹下 我这里clone到 c:\gitflow git clone git://gith ...

  8. git以及git flow 的使用

    转载:http://selfcontroller.iteye.com/blog/996494 在这里主要讲一下我在项目中用到的关于gitflow的用法.   公司的项目中,专门有一台用来存放版本库的服 ...

  9. 基于SourceTree 下的 Git Flow 模型

    基于SourceTree 下的 Git Flow 模型 1. sourceTree  是一个开源的git 图形管理工具,可下载mac版本,windows版本 2. Git Flow 是一套使用Git进 ...

  10. 从一个前端项目实践 Git flow 的流程与参考

    Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部 ...

随机推荐

  1. mysql 表级锁

    表级锁:分为读锁和写锁: lock tables table_name read;//其他事务只能读,不能加写锁,要等待更新. SESSION 50 执行: mysql> update test ...

  2. 基于visual Studio2013解决C语言竞赛题之0608水仙花函数

     题目 解决代码及点评 /* 功能:写一函数判断某数是否"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数字立方和等于该数本身. */ #includ ...

  3. PredictionIO Open Source Machine Learning Server

    PredictionIO Open Source Machine Learning Server Build Smarter Software with Machine Learning Predic ...

  4. cocos2dx-lua捕获用户touch事件的几种方式

    这里仅仅针对lua 1.为每一个关心的事件注冊回调函数 详细分为下面几种 1>单点触摸 注冊函数为 cc.Handler.EVENT_TOUCH_BEGAN      = 40 cc.Handl ...

  5. DNS:因特网的目录服务

    作者:华科小涛,http://www.cnblogs.com/hust-ghtao/ 有两种方式来识别主机:通过主机名或IP地址.人们当然喜欢便于记忆的主机名,而路由器则喜欢定长的.有层次结构的IP地 ...

  6. 使用BAT方法结束进程

    @echo off taskkill /f /im GAM.exe taskkill /f /im GCL10.exe http://www.cnblogs.com/FKdelphi/p/501540 ...

  7. 将某个MySQL库中的UTF8字符列都转成GBK格式

    DELIMITER $$ DROP PROCEDURE IF EXISTS `dba`.`Proc_ChangeCharacter2GBK`$$ CREATE DEFINER=`root`@`%` P ...

  8. __sleep和__wakeup

    魔术方法__sleep和__wakeup 串行化serialize可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. ...

  9. Android中获取网页表单中的数据

    MainActivity如下: package cn.testjavascript; import java.util.StringTokenizer; import android.os.Bundl ...

  10. vim: vim快捷键

    0. 搜索字符串: 精确匹配查找单词 如果你输入 "/the",你也可能找到 "there". 要找到以 "the" 结尾的单词,可以用:/ ...