<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Git介紹,安裝,Git+Git flow使用

      特點:
        1.可以快速的切換項目分支.
        2.回滾某個分支的版本.
        3.每次切換分支不用修改配置文件 (因項目而定義)
        4.不用 新建/切換 虛擬目錄/域名.因為都是在同一個目錄下進行.
        5.上面這些對你有吸引力嗎? 喜歡那就參與進來吧. 

       

      什么是Git

         
         Git是Linux Torvalds為了幫助管理 Linux,內核開發而開發的一個開放源碼的版本控制軟件.

         特點是快速,開源,分布式管理系統.

         它可以對代碼的修改進行回滾,將錯誤的代碼剔除.

         或者簡單地跟蹤哪些人修改了代碼的哪些行的內容.
         
       

      對比:集中化的版本控制

        
        集中化的版本控制系統通常采用兩種方式:

        有些提供了文件鎖來防止多個用戶的并行訪問,這些系統對文件進行加鎖,這樣在某個時間只有一個開發人員對中心倉庫具有寫入權限.

        另外一些工具,例如 SVN,允許多個開發人員同時對相同的文件進行編輯,并提供了一些機制稍后合并這些修改。
        
          CVS,SVN 等工具都是代碼部署到服務器上,每次需要遠程更新到本地,解決沖突在此提交.
        這樣弊端很明顯,如果這臺服務器掛掉幾個小時,可能在這幾個小時內,你的代碼都無法去提交.

        配圖:
        

            

        圖解: 代碼都集中部署到一臺服務器上,每臺電腦需更新服務器上的代碼,修改后提交到服務器上.  

        弊端:如果版本控制這臺服務器掛掉,可能對整個項目開發都會造成影響,因為開發者都不能提交,其他人也無法獲取到代碼,最重要的是代碼也無法時時的進行備份,改動大風險也更大.如果你在一個不能連接網絡的地方時,就像在飛機上,火車上,或者某些無網絡的情況下,就不能提交文件,查看歷史版本記錄,創建項目分支,等.

       

      對比:分布式的版本控制

         
         GIT跟SVN一樣有自己的集中式版本庫或服務器.

         
      但GIT更傾向于被使用于分布式模式,也就是以每個開發人員為中心 版本庫/服務器 上chectout代碼后會在自己的機器上克隆一個自己的版本庫.

         如果你在一個不能連接網絡的地方時,就像在飛機上,火車上,或者某些無網絡的情況下,也一樣可以提交文件,查看歷史版本記錄,創建項目分支,等. 
         
         GIT把內容按元數據方式存儲,而SVN是按文件:

         
      所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里.

         把.git目錄的體積大小跟.svn比較,會發現它們差距很大.

         .git目錄是處于你的機器上的一個克隆版的版本庫,它擁有中心版本庫上所有的東西,例如標簽,分支,版本記錄等.

        配圖: 
        

        

        圖解:開發者從 版本庫/服務器 克隆一份代碼,可以隨意的 新建/切換 分支,可以同時在 版本1,版本2 中去來回切換修改代碼,互并不影響其他版本.

        把開發者的機器也克隆成一臺服務器,同樣也擁有,查看歷史記錄,創建,合并分支等功能. 

       

       

      操作環境

       

        操作系統:Mac Os

        虛擬主機:VMware Fusion

        虛擬系統:Centos 5.5+

        操作用戶:Root

        實現目的:搭建Git版本控制.

       

      安裝依賴庫和版本控制軟件

       

      # 安裝 Git#######################################################

      # Git 依賴庫
      yum install -y gettext-devel expat-devel curl-devel zlib-devel openssl-devel
       
      # Centos
      http://codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz

      # Mac Os
      安裝最新版XCode即可

      # Windows Msysgit
      http://code.google.com/p/msysgit/downloads/list

      # Ubuntu
      sudo apt-get install git git-core #(可能會出現未發現軟件源,推薦下載tar.gz包安裝包)

      # 安裝 Git End####################################################

      # Gitosis(GIT環境)
      安裝Git后在安裝Gitosis

       

      安裝Git

       

      # 存放軟件包目錄
      cd /web/git

      tar -zxvf git-latest.tar.gz
      cd git-2011-12-14/ # 根據當前版本解壓目錄名稱可能不同
      make -j6

      # 如果出現找不到libiconv.so庫設置一下軟連接
      ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
      make install

      # 測試安裝是否成功
      git

       
      #如圖 

       

      簡單配置Gitosis

        
        Git我們安裝好了,這時我們需要一臺服務器(或者Git Hub開始使用一下Git)
       

        Git Hub很簡單網上資料較多,找一下,我就不在重復的總結了.
       

        有時我們開發環境是局域網,并且源碼不想讓其他人看到,這時需要在局域網上搭建一臺GIT Server
       

        本篇主要介紹Git的,只是搭建一個環境提供簡單的使用,不會過多的介紹Gitosis.
       

      # 創建Git目錄
      mkdir /git
      cd /git

      # 克隆Gitosis
      git clone git://eagain.net/gitosis.git

      # 安裝python擴展
      yum -y install python python-setuptools

      # 安裝
      cd gitosis
      python setup.py install

      # 生成共秘鑰
      ssh-keygen -t rsa -C 'xinxiangmo@gmail.com'

      # 公鑰發送到git Server上
      scp ~/.ssh/id_rsa.pub root@ce.com:/git (ce.com是我指向的虛擬機IP)

      # 切換到Git Server添加,切換用戶
      adduser git
      su git

      # 初始化版本庫
      gitosis-init < /git/id_rsa.pub
      # Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
      # Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ 

      # 切換本機,克隆倉庫,修改創建項目
      # (可以直接在Git Server /home/git/repositories/gitosis-admin.git/gitosis.conf 下操作)
      git clone git@ce.com:gitosis-admin.git

      # 新建項目(名稱woyaoquan)
      vi gitosis-admin/gitosis.conf
      [group woyaoquan]
      writable = woyaoquan
      members = xinxiangmo@gmail.com

      # 切換本機重新克隆
      git clone git@ce.com:woyaoquan.git
      cd woyaoquan && touch index.php
      git add . #添加緩存區
      git commit -m "提交文件,添加index.php文件"

      [
      master (root-commit) 42e0160] 提交文件,添加index.php文件
      0 files changed, 0 insertions(+), 0 deletions(-)
      create mode 100644 index.php

      git push #發布到master分支上
      
      
       

       

      Git + Git Flow 項目中使用

        
        在上面已經使用過Git的一些參數,詳細講Git的有很多,比較詳細的有 Git Book  Pro Git 等,就不太過多的Copy,Git本身也比較靈活.

        一般都會使用Git Flow控制版本發布流程, 因篇幅問題就不在這里展示安裝Git Flow了,也比較簡單.

        簡單的說一下項目的發布流程 

        
      Git flow普通BUG流程:

      # 進入克隆倉庫(上面有方法) clone
      cd /git/woyaoquan
      # 初始化版本流程控制
      git checkout -b develop origin/develop
      # 初始化工作目錄(一直回車即可)
      git flow init
      # 開始創建新的需求分支,目的修改image
      git flow feature start editimage #這時項目會自動切換 feature/editimage分支
      #
      更改部分代碼后
      #
      git commit -a -m "修改完了"
      #
      完成開發分支合并develop(自動)
      git flow feature finish editimage
      # 發布到遠程開發分支
      git push origin develop


      Git flow 緊急BUG流程(1)

      # 拉回release版本
      git pull origin release/v1.0
      # 切換分支
      git checkout release/v1.0
      # 修改BUG
      #
      git commit -a -m "修改完BUG,BUG文件+行數"
      #
      修改完后提交
      git push origin release/v1.0


      Git flow 緊急BUG流程(2)

      # 更新master分支
      git pull origin master(更新master分支為最新)
      # 切換到master分支
      git checkout master
      #生成一個hotfix分支
      git flow hotfix start hfx

      # 通知相關得工程師和測試人員hotfix分支名稱
      #
      最終測試完成后拉回分支最新代碼
      git pull origin hotfix/hfx
      # 最終修改和測試完成后,結束hot fix以供發布
      git flow hot fix finish hfx
      # 發布最終的master分支
      git push origin master



      posted @ 2011-12-18 16:28  吳佰清  閱讀(26995)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 久热久精久品这里在线观看| 亚洲护士一区二区三区| 国产草草影院ccyycom| 久久精品囯产精品亚洲| 一个色综合国产色综合| 久久九九精品99国产精品| 九九热精品在线免费视频| 国产AV福利第一精品| 2019国产精品青青草原| 国内久久人妻风流av免费| 国内自拍小视频在线看 | 国产精一区二区黑人巨大| 来安县| 日韩精品视频一二三四区| 丁香五月婷激情综合第九色 | 三穗县| xxxxbbbb欧美残疾人| 护士的小嫩嫩好紧好爽| 国产农村老熟女乱子综合| 国产免费高清69式视频在线观看| 国产成人精品永久免费视频| 欧美丰满熟妇bbbbbb| 99RE8这里有精品热视频| 成人网站免费在线观看| 亚洲精品国产福利一区二区| 无码专区 人妻系列 在线| 大肉大捧一进一出好爽视频动漫| 无人去码一码二码三码区| 少妇无套内谢免费视频| 欧美成人VA免费大片视频| 美女爽到高潮嗷嗷嗷叫免费网站| 越南毛茸茸的少妇| 国产午夜精品福利久久| 国产成人啪精品午夜网站 | 中文字幕第一页国产| 波多野结衣久久一区二区| 久热久视频免费在线观看| 成年女人免费视频播放体验区 | 一区二区三区四区亚洲自拍| 中文午夜乱理片无码| 亚洲人成网线在线播放VA|