久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用repo管理自己的git 倉庫

 ala咪s 2013-02-28

用repo管理自己的git 倉庫  

2012-05-29 14:45:43|  分類: linux 學習 |  標簽: |字號 訂閱

一 建立本地的git倉庫。將文件 push到本地,。

  1 準備工作。
    安裝git工具,。 yum安裝git-core就行了。
    局域網(wǎng)中的兩臺主機,,當然在本機上建也行。
      本機:192.168.160.89.
      git服務器:192.168.160.83

    git服務器下新建git用戶,,必要時允許匿名訪問。

  2 例如要將本機上的某個目錄(如moon)作成一個git repo,,傳到git服務器上。
    moon 下結(jié)構(gòu)
    .
    |-- file1
    `-- file2
    開始了,首先在git服務器上操作,。
    # mkdir /pub/git/moon.git
    # cd /pub/git/moon.git
    # git init --bare
    # chown git:git /pub/git/moon.git -R
     
     在本機上操作
    # cd moon
    # git init-db
    # git add *
    # git commit -m -a "first"
    # git remote add master [email protected]:/pub/git/moon.git
    # git push master --all
    之后如果順利的話就可以將moon目錄上傳到git服務器上了,,

    在別的目錄后主機上git clone就可以得到moon目錄。
    git clone [email protected]:/pub/git/moon.git


二 將android源碼在git服務器上保存,。
     1 android 源碼git介紹,。
      android用repo管理,repo其實就是為了更好的管理多個git子項目,,也就是說android源碼中有多個子git項目,,每個含有.git目錄的目錄就是一個git子項目。

     2 先對某一個git子項目進行操作,。
       bionic就是android源碼中的一個子git項目,。
       # cd bionic
       # rm .git -rf
       # git add *
       # git commit -m -a "first"
       # git remote add master [email protected]:/pub/git/android/bionic.git
       # git push master --all

        就行了,當然git服務器上得有bionic.git目錄,。

     3 用repo在git服務器上管理android源碼,。

    自己新建一個repo管理git倉庫:
    假設(shè)目前已經(jīng)配置好了git,gitweb等,且目前有用戶: git 和 yyl,,且yyl用戶可以匿名訪問git用戶(ssh-key-copy...):
    本機獲得ssh pub key:
    $ ssh-keygen       //不需要輸入什么,,直接按Enter鍵就可以了
    在服務器上設(shè)置可以允許我的本機匿名登錄
    ssh-copy-id -i ../moon.pub [email protected]   // moon.pub就是我的pub key
    這樣再次ssh [email protected] 的時候就不用密碼了

    下邊是建立自己的repo git倉庫

    本機端:
    $ mkdir test_one
    $ cd test_one
    $ tree
    |-- aa
    |   |-- a1
    |   `-- a2
    |-- bb
    |   |-- b1
    |   `-- b2
    `-- cc
        |-- dd
        |   |-- d1
        |   `-- d2
        |-- manifest
        |   |
        |   `-- default.xml
        `-- ee
            |-- e1
            `-- e2
    這是yyl用戶下的一個普通項目目錄,我想為他創(chuàng)建遠程git倉庫,,并且分多個git來逐個管理,這時就需要用repo來管理這些git:
    $ cd aa
    $ git init-db
    $ git add *
    $ git commit -a -m "first init"
    $ cd bb
    $ git init-db
    $ git add *
    $ git commit -a -m "first init"
    $ cd cc/dd
    $ git init-db
    $ git add *
    $ git commit -a -m "first init"
    $ cd ../ee
    $ git init-db
    $ git add *
    $ git commit -a -m "first init"
    $ cd ../manifest/
    $ git init-db
    $ git add *
    $ git commit -a -m "first init"
    }}}

    服務器端:
    我們將在git用戶下創(chuàng)建git倉庫:[[BR]]

    $ cd /pub/gittrees/
    $ mkdir test_one;cd test_one
    $ mkdir aa.git
    $ git init --bare
    因為bb、dd,、ee目錄的特殊性,我想將他們放在一個獨立的目錄中:
    $ mkdir platform;cd platform
    $ mkdir bb.git; cd bb.git
    $ git init --bare
    $ cd -
    $ mkdir cc; cd cc
    $ mkdir dd.git; cd dd.git
    $ git init --bare
    $ cd -
    $ mkdir ee.git; cd ee.git
    $ git init --bare
    $ cd -
    $ mkdir manifest.git; cd manifest.git
    $ git init --bare

    本機端:


    {{{
    $ cd test_one
    $ cd aa
    $ git remote add master /pub/gittrees/test_one/aa.git
    $ git push master --all
    ......

    完成后,,拷貝manifest項目:
    $ git clone [email protected]:/pub/gittrees/test_one/platform/manifest.git
    $ cd manifest
    $ vim default.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      <remote  name="origin"
               fetch="../.." />

      <default revision="master" remote="origin" />

      <project path="aa" name="aa" />
      <project path="bb" name="plathform/bb" />
      <project path="cc/dd" name="plathform/cc/dd" />
      <project path="cc/ee" name="plathform/cc/ee" />
    </manifest>
    注意: fetch="../.." /> 中 會考慮default.xml所在的路徑,。如default.xml路徑為:/pub/gittree/test_one/platform/manifest . 而fetch為"../.." 。則
    最后的url為:/pub/gittree/test_one .

    $ git commit -a -m "modigy default.xml"
    $ git push
    這時,,就可以下載所有的test_one項目了:
    $ mkdir test; cd test
    $ repo init -u [email protected]:/pub/gittrees/test_one/platform/manifest.git -b master
    $ repo sync

    這樣就可以下載在整個目錄了,,含有多個git倉庫。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多