git以及git flow 的使用

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

原文地址:https://www.cnblogs.com/program-framework/p/4182550.html