转载:http://selfcontroller.iteye.com/blog/996494

在这里主要讲一下我在项目中用到的关于gitflow的用法。 
  公司的项目中,专门有一台用来存放版本库的服务器,路径是在默认的安装目录/opt/git/,那么在使用的时候,如果你是一个功能模块或者是一个项目的发起者的话,那么你可以选择使用gitflow来进行管理,关于gitflow的好处在这里我就不在多讲了。 
  1、首先在上面刚刚讲到的目录(注意这是在专门的盛放版本库的那台服务器上)内,创建一个目录,比如说叫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

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

  1. 从VSS到SVN再到Git 记Git的基本操作

    Source code control 一直是软件开发过程中重要的环节,从最初的纯文件备份,到使用工具进行管理.Source code control 工具的作用也不仅仅只是单纯的对同一个版本进行管理 ...

  2. Git版本控制 Git、github,gitlab相关操作

    目录 关于版本控制 版本管理工具 集中式管理 分布式管理 git版本管理 git介绍 软件安装 Git工作状态 原理流程步骤 git基本操作 对文件进行修改 分支 共享仓库 创建共享仓库: 共享仓库上 ...

  3. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  4. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  5. Git:Git初体验——Git安装配置

    作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些 ...

  6. 使用Git、Git GUI和TortoiseGit

    1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...

  7. git学习——git理解和仓库的创建

    一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...

  8. git format-patch & git apply & git clean

    一.打补丁 git format-patch & git apply 最近在工作中遇到打补丁的需求,一来觉得直接传文件有些low(而且我尝试了一下,差点把项目代码毁了) ,二来也是想学习一下, ...

  9. [git]图解git常用命令

    本文图解git中最常用的命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 约定 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提 ...

  10. Android Studio配置Git及Git文件状态说明

    Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...

随机推荐

  1. XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装XE6 PAS ...

  2. 数据库连接池dbcp基本配置

    DBCP(DataBase connection pool),数据库连接池.是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件.单独使用dbcp需要2个包: com ...

  3. Chap5:32– 34

    32. 从 1 到 n 整数中 k (0,1, 2, 3, 4, 5, 6, 7, 8, 9)出现的次数.  时间 O(log10N) A. 当 K != 0 时: 以 n = 2014,K = 1 ...

  4. 使用CSS和jQuery实现对话框

    因为项目中要显示一些对话框,但用alert显得太丑,后从网上找了一些插件,但有觉得不好用,因此自己试用CSS和jQuery写了一个对话框,代码如下: <!DOCTYPE html> < ...

  5. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

  6. CSS隐藏元素的几种方法

    使用CSS隐藏元素的方法很多,在这里简单总结一下: 1.display:none display:none 应该是最常用的一种隐藏元素的方法,使用该方法隐藏的元素脱离文档流不占据空间,不会被浏览器解析 ...

  7. 对Web标准的理解。可用性和可访问性

    一Web标准 简单的说,就是HTML.CSS.JavaScript这三者分离.WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentat ...

  8. 最小生成树(HDOJ 1863)

    畅通工程 http://acm.hdu.edu.cn/showproblem.php?pid=1863 1.Prim算法: Prim算法是由一个点(最初的集合)向外延伸,找到与集合相连权值最小的边, ...

  9. 计时函数 clock() in c and c++

    在MSDN中,查得对clock函数定义如下: clock_t clock(void) ; 返回该程序从启动到函数调用占用CPU的时间.这个函数返回从“开启这个程序进程”到“程序中调用clock()函数 ...

  10. static 变量

    被static 修饰的变量全部称为静态变量.所有的静态变量全部存储在静态存储区.按静态变量定义的位置不同,又分为全局静态变量和局部静态变量. 1)全局静态变量 在全局变量的说明前加上static,就是 ...