在這裏主要講一下我在項目中用到的關於gitflow的用法。
公司的項目中,專門有一臺用來存放版本庫的服務器,路徑是在默認的安裝目錄/opt/git/,那麼在使用的時候,若是你是一個功能模塊或者是一個項目的發起者的話,那麼你能夠選擇使用gitflow來進行管理,關於gitflow的好處在這裏我就不在多講了。
一、首先在上面剛剛講到的目錄(注意這是在專門的盛放版本庫的那臺服務器上)內,建立一個目錄,好比說叫testflow.git.
二、cd testflow.git ----> git --bare init //在這個目錄下建立一個裸倉庫,這個時候這個倉庫裏面是空的,什麼都沒有的,固然也尚未任何的分支。
注意:一下均是在本地機器上完成的操做
三、在本地的機器上(開發用的機器),在某個目錄下好比project建立一個項目目錄好比testproject ----> cd testproject ---> rails new . //在當前目錄下建立rails項目。
四、git init 初始化本地的git倉庫,注意這條命令會爲咱們在當前目錄建立一個git倉庫,並默認爲咱們建立一個master分支
五、編輯咱們須要讓git忽略的文件,即哪些文件不歸入到git的版本庫管理裏面。cd .git
vi .ignore ,進入到這個.ingore文件,輸入那些須要讓git忽略的目錄活文件。
六、配置git的基本信息。在當前用戶的家目錄,git的全局配置,存儲於$HOME/.gitconfig裏,這裏的配置影響當前用戶的全部git repo,或者命令行裏,經過git config的--global參數開啓全局配置。
$: git config --global user.name yyfrankyy
$: git config --global user.email yyfrankyy@gmail.com
七、在作完上述配置以後,在當前項目的根目錄運行git add . 將當前目錄的全部變動的文件通知git進行記錄
八、git remote add origin test@192.168.0.139:/opt/nginx/testflow.git ---這句話的意思是 在本地配置文件裏面記住這個遠程庫的地址和庫的位置,並命名爲origin
九、git comit -m 'first commit' ----> 提交本地代碼到倉庫,並標識爲first commit
十、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
十一、git flow init ---利用gitflow爲咱們建立master分支和develop分支
十二、git checkout develop ---->切換到本地的develop分支。
1三、git branch ---看一下如今咱們是否是已經在develop分支
git branch -r 查看遠程分支情況(通常爲一個,master分支)
git branch 查看本地分支及當前本身所在的分支
git branch -a 查看全部分支(本地和遠程)
1四、git flow feature start test_feature --->在develop分支下建立一個feature分支,並命名爲test_feature,之後咱們全部的開發工做都應該在這個分支下完成,在開發完成後,咱們要git status查看哪些文件都發生了變化,而後咱們在git add . 將全部當前目錄下的發生改變的文件通知本地git進行記錄,而後 git commit -m 'xxxxx'提交代碼到本地倉庫
1五、而後再git flow feature finish test_feature 這樣的話,咱們就把feature分支下的全部改變的代碼都merge回了develop分支,git併爲咱們刪除了剛纔的test_feature分支,而後咱們再git checkout master 跳轉到本地的master分支,而後 git merge develop 把本地的develop代碼merge回本地的master分支,
1六、git push orgin master -----> 將本地master分支的代碼提交到遠程的master分支
1七、若是在上述全部操做都完成後,咱們還想再在剛纔的基礎上繼續開發其餘功能的話,那麼咱們再次跳轉到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 html