转载: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. HDU2047

    http://acm.hdu.edu.cn/showproblem.php?pid=2047 对于这道题,我就从后面向前面考虑. 当第n个是o的话,那么n-1 只可以取e或者f,如果n是e或者f的话, ...

  2. Appium for Mac 环境准备篇

    之前写过一篇Appium for windows的文章,因为是09年的T400,启动Android模拟器的时候死机三次,那就公司申请台Macbook air吧,15寸的Macbook Pro实在太重了 ...

  3. HTML中行内元素与块级元素的区别

    块级元素:独占一行,可设宽高,内外边距:块级元素有form,p,h1到h6,ol ,ul ,dl和dd和dt ,hr,li,pre,caption ,div ,table ,tr ,td ,th等. ...

  4. UIAutomator 编译

    环境搭建 1.必备条件: 1.JDK    2.SDK(API高于15)    3.Eclipse(安装ADT插件)    4.ANT(用于编译生成jar) 2.简要步骤: 1.安装JDK并添加环境变 ...

  5. POS管理系统之设备出库

    JSP: <html>  <head>    <title>登录</title>   <style type="text/css&quo ...

  6. 基于mini2440的boa服务器移植

    win7 系统  开发板:mini2440 虚拟机:ubuntu12.04 准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔. 1.首先从 http://ww ...

  7. ajax跨域请求带cookie

    调用网站:a.xxx.com jQuery(document).ready(function () { $.ajax({ type: "get", async: true, url ...

  8. NRF51822之修改设备名(掉电不保存)

    主要代码 /**@brief Function for handling the Application's BLE Stack events. * * @param[in] p_ble_evt Bl ...

  9. 计算机网络 学习笔记-传输层:TCP协议简介

    概述: TCP传输前先要建立连接 TCP在传输层 点对点,一条TCP只能连接两个端点 可靠传输.无差错.不丢失.不重复.按顺序 全双工 字节流 TCP报文段 TCP报文段的报头前20字节是固定的,后面 ...

  10. Python 之WEB前端插件

    1.Font Awesome ---- 设计字体,图标 2.EasyUI ---- 各种功能 3.JqueryUI ---- 类似EasyUI 4.bootstrap ---- 必须引入JQuery( ...