repo服务器搭建



一.

pass

二.安装repo工具

curl http://android.git.kernel.org/repo > /user/local/bin/repo

chmod a+x /user/local/bin/repo

 

由于android.git.kernel.org连接不上,从其他地方获得了repo和repo文件夹

其中repo脚本中有

#REPO_URL='https://gerrit.googlesource.com/git-repo'

REPO_URL='ssh://[email protected]/repo/repo'

这里/repo/repo就是个仓库。

 

三.建立manifest工程

Server:

mkdir /repo/android_test

cd /repo/android_test

git init --bare manifest.git

 

sudo gedit /etc/sv/git-daemon/run

 Modify the last line to:

exec git-daemon --verbose --enable=receive-pack --export-all --base-path=/repo/

 Reboot the machine

Client:

git clone [email protected]:/repo/android_test/manifest.git

cd manifest

vi default.xml

git add --all

git commit -a -m "add default.xml"

git push --all

 

default.xml

   

     

              fetch="ssh://[email protected]/" review="" />

     

              remote="openlinux"

              sync-j="1" />

   

    

 

注:

1.default revision="master"master是分支名,第一次建立默认是master,以后可以为repo start --all branchname 中指定的branchname。

2.

中path是本地下载后的目录,name是远程repo目录

 

四.建立实际工程

server:

建立空testproject工程

cd /repo/android_test

git init --bare testproject.git

Client:

初始化testproject工程:

git clone [email protected]:/repo/android_test/testproject.git

cd testproject

echo "this is testproject" > readme.txt

git add --all

git commit -a -m "add readme.txt

git push --all

 

 

五.测试

 

repo init -u ssh://[email protected]/repo/android_test/manifest.git

repo sync

 

git branch -r

m/master -> openlinux/master

openlinux/master

 

Bit branch -b 20131013

Git push openlinux 20131013

Git pull openlinux 20131013

 

 

=============================================================================

根据不同xml下载不同代码

Client:

git clone [email protected]:/repo/android_test/manifest.git

cd manifest

vi manifest_branch1.xml

git add --all

git commit -a -m "add manifest_branch1.xml"

git push --all

下载代码:

repo init -u ssh://[email protected]/repo/android_test/manifest.git

Repo init -m manifest_branch1.xml

repo sync

注:Repo init -m manifest_branch1.xml的作用是将.repo/manifest.xml链接到.repo/manifest/manifest_branch1.xml

 

 

Checkout

Repo checkout branchname//这里必须是本地分支,即repo start的分支

Git checkout branchname//这里可以是远程分支,也可是本地分支

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(env)