gitolite添加用户.conf怎么添加版本库

Gitolite 安装
安装:# 获取版本库git clone git:///sitaramc/gitolite# 创建bin目录,用于存放安装后的文件mkdir -p ~/bin# 将gitolite安装到bin目录gitolite/install -to ~/bin# 使用YourName.pub公钥初始化版本库gitolite setup -pk YourName.pub #YourName.pub是管理员的公钥 这个公钥最好用linux服务器本身生成的管理用户:&添加删除用户绿颜色是新增用户的过程红颜色是删除用户的过程管理也是在服务器上,自己随便找个路径,把管理的文件夹clone下来。[root@localhost&luxiaoshuai]#&git&clone&root@192.168.101.233:gitolite-admin.git正克隆到&'gitolite-admin'...The&authenticity&of&host&'192.168.101.233&(192.168.101.233)'&can't&be&established.RSA&key&fingerprint&is&f1:c6:64:d7:77:c8:c2:db:88:4f:0b:94:73:6e:da:59.Are&you&sure&you&want&to&continue&connecting&(yes/no)?&root^H^H^H^H^HPlease&type&'yes'&or&'no':&yesWarning:&Permanently&added&'192.168.101.233'&(RSA)&to&the&list&of&known&hosts.remote:&对象计数中:&6,&完成.remote:&压缩对象中:&100%&(4/4),&完成.remote:&Total&6&(delta&0),&reused&0&(delta&0)接收对象中:&100%&(6/6),&完成.检查连接...&完成。[root@localhost&luxiaoshuai]#&lsgit&&git-2.4.3&&gitolite-admin[root@localhost&luxiaoshuai]#&cd&gitolite-admin/[root@localhost&gitolite-admin]#&lsconf&&keydir[root@localhost&gitolite-admin]#&cd&keydir/[root@localhost&keydir]#&lsid_rsa.pub[root@localhost&keydir]#&rz #上传用户的pub key[root@localhost&keydir]#&git&add&.[root@localhost&keydir]#&lsid_rsa.pub&&win7Client.pub[root@localhost&keydir]#&git&status位于分支&master您的分支与上游分支&'origin/master'&一致。要提交的变更:& (使用&&git&reset&HEAD&&文件&...&&撤出暂存区)& & & & 新文件:&&&win7Client.pub[root@localhost&keydir]#&git&commit&-a&-m&&add&user&by&admin&&[master&7b76e81]&add&user&by&admin&Committer:&root&&root@localhost.localdomain&您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确与否。您可以对其进行设置以免再出现本提示信息:& & git&config&--global&user.name&&Your&Name&& & git&config&--global&user.email&设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:& & git&commit&--amend&--reset-author&1&file&changed,&1&insertion(+)&create&mode&100644&keydir/win7Client.pub[root@localhost&keydir]#&git&config&--global&user.name&&admin& & &[root@localhost&keydir]#&git&config&--global&user.email&&&[root@localhost&keydir]#&git&commit&--amend&--reset-author[root@localhost&keydir]#&git&push&origin&master对象计数中:&4,&完成.压缩对象中:&100%&(4/4),&完成.写入对象中:&100%&(4/4),&688&bytes&|&0&bytes/s,&完成.Total&4&(delta&0),&reused&0&(delta&0)To&root@192.168.101.233:gitolite-admin.git& &02d99b9..96ea9c2&&master&-&&master[root@localhost&keydir]#&lsid_rsa.pub&&win7Client.pub[root@localhost&keydir]#&rm&-f&win7Client.pub&[root@localhost&keydir]#&lsid_rsa.pub[root@localhost&keydir]#&git&commit&-a&-m&&delete&[master&281149f]&delete&1&file&changed,&1&deletion(-)&delete&mode&100644&keydir/win7Client.pub[root@localhost&keydir]#&git&push&origin&master对象计数中:&3,&完成.压缩对象中:&100%&(2/2),&完成.写入对象中:&100%&(3/3),&295&bytes&|&0&bytes/s,&完成.Total&3&(delta&0),&reused&2&(delta&0)To&root@192.168.101.233:gitolite-admin.git& &96ea9c2..281149f&&master&-&&master[root@localhost&keydir]#&lsid_rsa.pub[root@localhost&keydir]#&rzrz&waiting&to&receive.&zmodem&trl+C&?&& 100%&&&&&408&bytes&&408&bytes/s&00:00:01&&&&&&&0&Errors[root@localhost&keydir]#&lsid_rsa.pub&&luxiaoshuai.pub[root@localhost&keydir]#&git&add&.[root@localhost&keydir]#&git&commit&-a&-m&&&&add&[master&382b12b]&add&1&file&changed,&1&insertion(+)&create&mode&100644&keydir/luxiaoshuai.pub[root@localhost&keydir]#&git&push&origin&master对象计数中:&4,&完成.压缩对象中:&100%&(4/4),&完成.写入对象中:&100%&(4/4),&680&bytes&|&0&bytes/s,&完成.Total&4&(delta&0),&reused&0&(delta&0)To&root@192.168.101.233:gitolite-admin.git& &281149f..382b12b&&master&-&&master[root@localhost&keydir]#&lsid_rsa.pub&&luxiaoshuai.pub管理项目库新加项目库[root@localhost&conf]#&cat&gitolite.conf&repo&gitolite-admin&&&&RW+&&&&&=&&&id_rsarepo&testing&&&&RW+&&&&&=&&&@allrepo&gitTest&&&&RW+&&&&&=&&&id_rsa&luxiaoshuai新增黄色部分为一个新的项目库然后执行以下命令git commit -a -m &add project by luxiaoshuai&git push origin master执行完成后,项目自动就已经建好了,不过是空的。项目权限管理项目权限划分1. &对所有的分支拥有读写、重置、添加和删除的授权。2. 对master有读写权限的人&3.对developer有读写权限的人4. 对项目只有读的人&@admin = luxiaoshuai yangpengrepo gitolite-admin& & RW+ & & = & id_rsarepo testing& & RW+ & & = & @allrepo gitTest& & RW+ & & = & id_rsa luxiaoshuai& & RW+ developer3$ = yangpengrepo gitTest2& & RW+ & & = & luxiaoshuai yangpengrepo gitTest3& & RW+ & & = & luxiaoshuai #1. &对所有的分支拥有读写、重置、添加和删除的授权。& & RW+ &master & = & yangpeng #2. 对master有读写权限的人& & RW+ &develop$ = yangpengDev #3.对developer有读写权限的人& & R & &develop$ = yangpengR #4. 对项目只有读的人项目分支划分master(生产代码)developer(最新的开发变更)
无相关信息
最新教程周点击榜
微信扫一扫使用Gitolite搭建Git服务器
需要用到的软件
Apache 这个就不需要介绍了吧!
其实Gitolite的搭建过程中,Gitweb、Apache不是必须的,Gitweb、Apache跟Gitolite一起使用,看到的效果就像这个一样
假设Server用的是Ubuntu 12.04
Client能通过SSH连接至Ubuntu Server
Server、Client都安装好Git,怎么安装?Google一下吧!
如何搭建?
添加一个计算机用户,并设置密码,如git:
# -s指令用于指定用户的默认shell,不指定的话,默认是/bin/sh,这个shell在ssh下支持有问题sudo useradd -m git -s /bin/bashsudo passwd git
设置你本机的git用户信息(非必须):
git config git config
创建一个SSH公钥/私钥对:
ssh-keygen -t rsa
上传公钥到服务器:
scp ~/.ssh/id_rsa.pub git@server(ip):/home/git/admin.pub
SSH连接到Server:
ssh user@server
server取得root,安装gitolite:
sudo -sHapt-get install gitolite
切换至git用户,运行gitolite安装脚本:
su - gitgl-setup /home/git/admin.pub
客户端获取gitolite管理库:
git clone git@server:gitolite-admin.gitcd gitolite-admin
编辑gitolite配置文件,进行项目、用户添加等操作:
sudo vim conf/gitolite.conf
怎么对库进行管理、用户添加、授权等操作,gitolite的文档里都有详细介绍的。
配置好以后,push到Server上即可!
Gitweb的安装、配置(都是在Server上)
首先安装一下Apache:
sudo apt-get install apache2
安装Gitweb:
sudo apt-get install gitweb
安装完成后,修改下gitweb.conf:
sudo vim /etc/gitweb.conf$projectroot = "/home/git/repositories"
重启下Apache
sudo service apache2 restart
若 "/home/git/repositories" 可被访问,即可通过 http://server/gitweb 访问你的git库了!
修改git相关文件与目录的权限,以支持gitweb的访问。
vi ~/.gitolite.rc# 将 $REPO_UMASK = 0077; 改为 $REPO_UMASK = 0027; 以支持gitweb的权限。# 在每次push后,gitolite会修改相关的repo的权限。chmod g+r /home/gitolite/projects.listchmod -R g+rx /home/gitolite/repositories
下面还有更简单的方法
安装gitolite以及git,只需要指定gitolite就可以,gitolite依赖git,apt-get会自动的寻找到依赖包,并安装。
sudo apt-get install gitolite
创建git用户,并切换到git用户下, 用户名最好为git,这样用ssh方式迁出的格式为:git@server:repo,如果是其他用户名的话,那么@前就为相应的用户信息。
sudo useradd -m git -s /bin/bashpasswd gitsu - git
准备gitolite管理员的公钥文件,win下可以用putty生成,只要注意把Key comment的内容设置为空,再把公钥拷贝出来后黏贴到相关的文件就好了。
# 用vi创建相关的文件,并在其中贴入公钥信息vi ~/admin.pub
执行gitolite的安装,命令后跟的是管理员的公钥文件。
gl-setup ~/admin.pub
根据需要修改配置文件,完成安装。
阅读(...) 评论()微信公众号:centoscn
CentOS 6.4x64安装git和gitolite服务器
一.部署环境 &
&&&&系统:CentOS 6.4x64 最小化安装 &
&&&&IP:192.168.3.27&
二.安装基础依赖包 &&
[root@nginx&~]
三.下载git-2.2.0.tar.gz
[root@nginx&~]
四.解压文件到当前目录下,并安装
[root@nginx&git-2.2.0]
[root@nginx&git-2.2.0]
[root@nginx&git-2.2.0]
[root@nginx&git-2.2.0]
增加软连接
[root@nginx&git-2.2.0]
验证结果,显示出版本号,表示安装成功
[root@nginx&git-2.2.0]
git&version&2.2.0
五.创建git用户
[root@nginx&~]
六.在git用户家目录下安装gitolite
[root@nginx&~]
[git@nginx&root]$&cd
[git@nginx&~]$&mkdir&bin
七.克隆gitolite源码
[git@nginx&~]$&git&clone&https://github.com/sitaramc/gitolite.git&
Cloning&into&'gitolite'...remote:&Counting&objects:&8884,&done.
remote:&Total&8884&(delta&0),&reused&0&(delta&0),&pack-reused&8884Receiving&
objects:&100%&(8884/8884),&3.66&MiB&|&179.00&KiB/s,&done.
Resolving&deltas:&100%&(5055/5055),&done.Checking&connectivity...&done.
[git@nginx&~]$&ls
bin&&gitolite
八.安装gitolite
[git@nginx&~]$&./gitolite/install&--to&/home/git/bin/
[git@nginx&~]$&ls&bin/
commands&&gitolite&&gitolite-shell&&lib&&syntactic-sugar&&triggers&&VERSION&&VREF
九.配置gitolite管理员
&&&&生成管理员账户的公钥(此处指定本地root用户为管理员,键入回车使用默认值)
[root@nginx&~]
[root@nginx&~]
切换回git用户,为gitolite配置管理员&
[git@nginx&~]$&bin/gitolite&setup&-pk&/tmp/admin.pub&
Initialized&empty&Git&repository&in&/home/git/repositories/gitolite-admin.git
/Initialized&empty&Git&repository&in&/home/git/repositories/testing.git/
WARNING:&/home/git/.ssh&&creating&a&new&one&&&&
(this&is&normal&on&a&brand&new&install)
WARNING:&/home/git/.ssh/authorized_keys&&creating&a&new&one&&&&
(this&is&normal&on&a&brand&new&install)
[git@nginx&~]$&ls
bin&&gitolite&&projects.list&&repositories
十.管理员日常管理
[root@nginx&~]
Cloning&into&'gitolite-admin'...The&authenticity&of&host&
'192.168.3.27&(192.168.3.27)'&can't&be&established.
RSA&key&fingerprint&is&c4:34:02:55:ad:42:8a:65:ba:94:00:20:48:d7:3c:33.
Are&you&sure&you&want&to&continue&connecting&(yes/no)?&yes
Warning:&Permanently&added&'192.168.3.27'&(RSA)&to&the&list&of&known&hosts.
remote:&Counting&objects:&6,&done.
remote:&Compressing&objects:&100%&(4/4),&done.
Receiving&objects:&100%&(6/6),&734&bytes&|&0&bytes/s,&done.
remote:&Total&6&(delta&0),&reused&0&(delta&0)
Checking&connectivity...&done.
[root@nginx&gitolite-admin]
conf&&keydir
[root@nginx&gitolite-admin]
/root/gitolite-admin
创建库、添加用户&
例如某test用户访问git服务器上的mytest库
test用户向git服务器管理(此处是之前的服务器本地的root用户)提交自己的ssh无密码公钥
管理员将test的公钥复制到 gitolite-admin/keydir/ 下
注:该key需要在test用户机器上使用ssh-keygen生成,再传送到192.168.3.27/tmp目录下
[root@nginx&~]
管理员创建myFirstRepo库,并给test分配权限
[root@nginx&~]
[root@nginx&conf]
repo&gitolite-admin&&&&
&&&&RW+&&&&&=&&&admin
repo&testing&&&&
&&&&RW+&&&&&=&&&@all
下边定义mytest库,并且指定用户权限:
@mygroup&&&&=&test
repo&mytest&&&&
&&&&RW+&&&&&=&@mygroup
注:此处@mygroup是一个组,给mygroup组赋予对mytest这个库的读、写、推送的权限
(详细规则可参考gitolite的readme.txt)管理员将对gitolite-admin的修改(建库、加用户)
提交到git服务器
[root@nginx&gitolite-admin]
/root/gitolite-admin
[root@nginx&gitolite-admin]
On&branch&master
Your&branch&is&up-to-date&with&'origin/master'.
Changes&not&staged&for&commit:&&
(use&&git&add&&file&...&&to&update&what&will&be&committed)&&
(use&&git&checkout&--&&file&...&&to&discard&changes&in&working&directory)&&
&&&&modified:&&&conf/gitolite.conf&&&&&&&&
Untracked&files:&&(use&&git&add&&file&...&&to&include&in&what&will&be&committed)
&&&&keydir/test.pub&&&&&&&&
no&changes&added&to&commit&(use&&git&add&&and/or&&git&commit&-a&)
[root@nginx&gitolite-admin]
[root@nginx&gitolite-admin]
On&branch&master
Your&branch&is&up-to-date&with&'origin/master'.
Changes&to&be&committed:&&(use&&git&reset&HEAD&&file&...&&to&unstage)&
&&&&modified:&&&conf/gitolite.conf&&
&&&&new&file:&&&keydir/test.pub&&
[root@nginx&gitolite-admin]
***&Please&tell&me&who&you&are.Run&&
&&&&git&config&--global&user.email&&&&&
&&&&git&config&--global&user.name&&Your&Name&to&set&your&account's&default&identity.
Omit&--global&to&set&the&identity&only&in&this&repository.
fatal:&unable&to&auto-detect&email&address&(got&'root@nginx.(none)')
[root@nginx&gitolite-admin]
[root@nginx&gitolite-admin]
[root@nginx&gitolite-admin]
[master&7b877e7]&add&repo&&
add&user&test&2&files&changed,&5&insertions(+)&
create&mode&100644&keydir/test.pub
[root@nginx&gitolite-admin]
Counting&objects:&6,&done.Compressing&objects:&100%&(5/5),&done.
Writing&objects:&100%&(6/6),&817&bytes&|&0&bytes/s,&done.
Total&6&(delta&0),&reused&0&(delta&0)
remote:&Initialized&empty&Git&repository&in&/home/git/repositories/mytest.git
/To&git@192.168.3.27:gitolite-admin&&&
3554f3d..7b877e7&&master&-&&master
客户端验证:
[root@ipython&~]
Initialized&empty&Git&repository&in&/root/mytest/.git/
warning:&You&appear&to&have&cloned&an&empty&repository.
[root@ipython&~]
total&3240drwxr-xr-x&3&root&root&&&&4096&Apr&17&14:45&mytest
[root@ipython&~]
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
[master&(root-commit)&08e9a37]&add&file&1.txt&
Committer:&root&&root@ipython.(none)&
Your&name&and&email&address&were&configured&automatically&based
on&your&username&and&hostname.&Please&check&that&they&are&accurate.
You&can&suppress&this&message&by&setting&them&explicitly:&&&&
&&&&git&config&--global&user.name&&Your&Name&&&&&
&&&&git&config&--global&user.email&
If&the&identity&used&for&this&commit&is&wrong,&you&can&fix&it&with:&
&&&git&commit&--amend&--author='Your&Name&&&'
&&&&0&files&changed,&0&insertions(+),&0&deletions(-)&
&&&&create&mode&.txt
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
[root@ipython&mytest]
total&0-rw-r--r--&1&root&root&0&Apr&17&14:47&1.txt
[root@ipython&mytest]
Counting&objects:&3,&done.Writing&objects:&100%&(3/3),&206&bytes,&done.
Total&3&(delta&0),&reused&0&(delta&0)To&git@192.168.3.27:/mytest.git
&*&[new&branch]&&&&&&master&-&&master
本文出自 &ly36843运维& 博客,请务必保留此出处http://ly33/1633884
------分隔线----------------------------Gitolite + repo 搭建安卓源码开发环境 - 简书
下载简书移动应用
写了5107字,被1人关注,获得了0个喜欢
Gitolite + repo 搭建安卓源码开发环境
转载请注明出处:相比gitosis,gitolite的功能更为强大,支持对权限的细分控制,下面在最新版 的ubuntu 14.04 LTS中搭建gitolite服务器。一、安装准备1.服务器安装opensshsudo apt-get-yinstall openssh-serveropenssh-client2.在一台管理客户机上生成ssh公钥【客户机执行】ssh-keygen-trsa生成的公钥在/home/xia/.ssh/里面,默认名字是id_rsa.pub。3.安装git,在这个核心软件,不可或缺。sudo apt-get-yinstall git二、安装gitolite在ubuntu中已经集成了,不用自己去下载。sudo apt-get-yinstall gitolite三、配置gitolite1.创建用户gitolite【服务器执行】添加gitolite用户和同名用户组,加上–system参数,用户就不会在登陆界面显示。sudoadduser--system--shell/bin/sh--group--disabled-password--home/home/gitolitegitolite2.把管理客户机生成的公钥上传到服务器上【客户机执行】scp ~/.ssh/id_rsa.pub berry@192.168.100.249:/tmp3.初始化配置【服务器执行】切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。sudo chmod777/tmp/id_rsa.pubmv /tmp/id_rsa.pub/tmp/xia.pubsudo su - gitolitegl-setup /tmp/xia.pub以上命令有两个个作用:a)建立一个目录“~/repositories”,用来存储所有git仓库;b)把公钥文件id_rsa.pub添加到 ~/.ssh/authorized_keys。4.修改配置文件gitolite的配置文件本身就是一个git仓库,gitolite的配置修改就是通过git实现的,先clone下来修改,再push上去。只要push上去,gitolite会立刻监视到配置文件的修改并应用。在管理客户端clone管理库到本地:git clone gitolite@192.168.100.249:gitolite-admin.git或者git clone ssh://gitolite@192.168.100.249/gitolite-admin.gitclone下来以后,库里有一个文件夹conf,里面存储的是gitolite.conf(配置文件);还有一个文件夹keydir,里面存储的是用户的公钥文件,当前里面就有在管理客户端上生成的私钥(格式是”用户名.pub”,例如“xia.pub”)。四、添加用户和仓库添加新仓库也非常简单,假设你要添加一个叫的用户,再创建一个仓库叫testing,并赋给lv修改权限。【在lv私钥计算机上操作】1.首先ssh-keygen生成lv的公钥和私钥;【在xia私钥计算机上操作】2.把lv公钥(lv.pub)拷贝到本地gitolite-admin库的keydir里面;3.编辑本地gitolite-admin库里的conf下的gitolite.conf,添加:repo
gitolite-admin
@all++repo
lv<mit修改,push到服务器生效。服务端自动创建空的test.git工程仓库。Compressing objects:100% (3/3), done.Writing objects:100% (4/4),356bytes |0bytes/s, done.Total4(delta1), reused0(delta0)remote:creating test...remote:Initialized empty Git repositoryin/home/gitolite/repositories/test.git/To ssh://gitolite@192.168.100.249/gitolite-admin.gitb5e8b3d..be1d3f1
master -& master5.初始化仓库并push到服务器【在lv私钥计算机上操作】git clone ssh://gitolite@192.168.100.249/test.git或者:git clone gitolite@192.168.100.249:test.gitcd testecho"init commit"& readme.txtgitadd.git commit -m"init commit"gitpushorigin master6.添加一个存在的Git项目如果你有一个已经存在的项目,也想将其添加到Gitolite的服务器里。首先你依然需要在gitolite.conf里注册这个项目。然后执行下面的操作:cd testgit remote rm origingit remoteaddorigin gitolite@192.168.100.249:test.gitgitpushorigin master如果你有多个branch,那么checkout到那个branch,执行git push origin五、搭建 Android repo 管理 服务器1.搭建 git-daemon(1)安装git-daemon-sysvinitsudo apt-getinstall git-daemon-sysvinit(2)配置 /etc/default/git-daemonsudovi /etc/default/git-daemon# Defaults for git-daemon initscript# sourced by /etc/init.d/git-daemon# installed at /etc/default/git-daemon by the maintainer scripts## This is a POSIX shell fragment#GIT_DAEMON_ENABLE=trueGIT_DAEMON_USER=gitoliteGIT_DAEMON_BASE_PATH=/home/gitolite/repositoriesGIT_DAEMON_DIRECTORY=/home/gitolite/repositories# Additional options that are passed to the Daemon.GIT_DAEMON_OPTIONS="--export-all --enable=upload-pack --enable=upload-archive --enable=receive-pack --informative-errors"配置分析:1)GIT_DAEMON_ENABLE=true 很明显得设置成true值了 。2)GIT_DAEMON_USER=gitolite 表示使用哪个用户运行git-daemon。注意:设置的这个用户一定得对GIT_DAEMON_BASE_PATH有读,写,执行的所有权限!3)GIT_DAEMON_BASE_PATH=/home/gitolite/repositories 设置根目录。比如像我的这个设置,那么你在用git clone gitolite://192.168.100.249/test.git时,git服务器就会查找/home/gitolite/repositories/test.git目录了。4)GIT_DAEMON_DIRECTORY=/home/gitolite/repositories 这个是设置成目录白名单whitelist。如果不设置的话用户在git操作时如git clone,git push等等会出现no such directory。而在服务器机器上/var/log/syslog中会看到’/home/gitolite/repositories/xxx.git’: not in whitelist 。5)GIT_DAEMON_OPTIONS=”–export-all –enable=upload-pack –enable=upload-archive –enable=receive-pack –informative-errors” 设置参数。如果想上传,且全部导出,就设置–export-all –enable=upload-pack –enable=upload-archive –enable=receive-pack 。注意:如果出现找不到的话,就在/home/gitolite/repositories目录下面的项目仓库目录下touch git-daemon-export-ok,生成一个这个名字的文件即可。如果想使用git push功能,那一定要打开–enable=receive-pack 。以上设置好了只后,,那么每次开机就会自己启动了。还可以使用sudo service git-daemon start|restart|stop控制。sudo /etc/init.d/git-daemon start|restart|stop也可以了。2.添加manifest.git仓库1)【在xia私钥计算机上操作】编辑本地gitolite-admin库里的gitolite.conf,添加:repo
manifestRW+=xiacommit修改,push到服务器生效。2)下载manifest.git到本地git clone gitolite@192.168.100.249:manifest.git3)添加dfault.xml这个文件是跟这个Android 源码 配套的,没有自己可以参考别人的创建一个,path 表示客户端本地路径,使用 cat default.xml | cut -d ‘”’ -f 2 提取,name 表示服务端远程路径,使用 cat default.xml | cut -d ‘”’ -f 4 提取。将上面的default.xml 文件push 到仓库:gitadddefault.xmlgit commit -m"add default.xml"gitpushorigin master4)给manifest.git仓库添加新成员berry(服务器端的默认登录用户)【在服务器上使用berry用户操作】生成berry用户的秘钥,并将公钥拷贝到远程xia私钥计算机的/tmp目录下ssh-keygen -t rsascp ~/.ssh/id_rsa.pub xia@192.168.100.181:/tmp【在xia私钥计算机上操作】将berry用户的公钥拷贝到本地gitolite-admin库里的keydir目录下:cp/tmp/id_rsa.pub~/gitolite-admin/keydir/berry.pub编辑本地gitolite-admin库里的gitolite.conf,修改:repo
xia berrycommit修改,push到服务器生效。3.创建服务器上的android源码版本库1)获取default.xml文件【在服务器上使用berry用户操作】cd ~/Download/git clone gitolite@192.168.100.249:manifest.git【在服务器上使用gitolite用户操作】sudosu - gitolitecd~cp /home/berry/Downloads/manifest/default.xml ./2)生成server.txt使用 cat default.xml | cut -d ‘”’ -f 4 & server.txt生成server.txt,将无关的字符删除-UTF-8--Makefile--得到一个服务端路径的文本 server.txtyazuo/platform/buildyazuo/platform/abi/cppyazuo/platform/artyazuo/platform/bionicyazuo/platform/bootable/bootloader/lkyazuo/platform/bootable/diskinstalleryazuo/platform/bootable/recoveryyazuo/platform/ctsyazuo/platform/dalvikyazuo/platform/developers/buildyazuo/platform/developers/samples/androidyazuo/platform/developmentyazuo/device/asus/debyazuo/device/asus/floyazuo/device/asus/flo-kernelyazuo/device/asus/grouperyazuo/device/asus/tilapiayazuo/device/commonyazuo/device/generic/armv7-a-neonyazuo/device/generic/commonyazuo/device/generic/goldfishyazuo/device/generic/mipsyazuo/device/generic/mini-emulator-armv7-a-neonyazuo/device/generic/mini-emulator-mipsyazuo/device/generic/mini-emulator-x86yazuo/device/generic/x86yazuo/device/google/accessory/arduinoyazuo/device/google/accessory/demokityazuo/device/lge/hammerheadyazuo/device/lge/hammerhead-kernelyazuo/device/lge/makoyazuo/device/lge/mako-kernelyazuo/device/sampleyazuo/device/samsung/mantayazuo/platform/docs/yazuo/platform/external/aacyazuo/platform/external/android-clatyazuo/platform/external/android-mockyazuo/platform/external/ant-globyazuo/platform/external/antlryazuo/platform/external/apache-harmonyyazuo/platform/external/apache-httpyazuo/platform/external/apache-xmlyazuo/platform/external/arduinoyazuo/platform/external/bisonyazuo/platform/external/blktraceyazuo/platform/external/bluetooth/bluedroidyazuo/platform/external/bouncycastleyazuo/platform/external/bsdiffyazuo/platform/external/bzip2yazuo/platform/external/ceres-solveryazuo/platform/external/checkpolicyyazuo/platform/external/chromiumyazuo/platform/external/chromium-libpacyazuo/platform/external/chromium-traceyazuo/platform/external/chromium_orgyazuo/platform/external/chromium_org/sdch/open-vcdiffyazuo/platform/external/chromium_org/testing/gtestyazuo/platform/external/chromium_org/third_party/WebKityazuo/platform/external/chromium_org/third_party/angle_dx11yazuo/platform/external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/brailleyazuo/platform/external/chromium_org/third_party/freetypeyazuo/platform/external/chromium_org/third_party/icuyazuo/platform/external/chromium_org/third_party/leveldatabase/srcyazuo/platform/external/chromium_org/third_party/libjingle/source/talkyazuo/platform/external/chromium_org/third_party/libphonenumber/src/phonenumbersyazuo/platform/external/chromium_org/third_party/libphonenumber/src/resourcesyazuo/platform/external/chromium_org/third_party/mesa/srcyazuo/platform/external/chromium_org/third_party/opensslyazuo/platform/external/chromium_org/third_party/opus/srcyazuo/platform/external/chromium_org/third_party/otsyazuo/platform/external/chromium_org/third_party/skia/gypyazuo/platform/external/chromium_org/third_party/skia/includeyazuo/platform/external/chromium_org/third_party/skia/srcyazuo/platform/external/chromium_org/third_party/smhasher/srcyazuo/platform/external/chromium_org/third_party/yasm/source/patched-yasmyazuo/platform/external/chromium_org/tools/grityazuo/platform/external/chromium_org/tools/gypyazuo/platform/external/chromium_org/v8yazuo/platform/external/clangyazuo/platform/external/compiler-rtyazuo/platform/external/dexmakeryazuo/platform/external/dhcpcdyazuo/platform/external/dnsmasqyazuo/platform/external/doclavayazuo/platform/external/dropbearyazuo/platform/external/droiddriveryazuo/platform/external/e2fsprogsyazuo/platform/external/easymockyazuo/platform/external/eclipse-basebuilderyazuo/platform/external/eclipse-windowbuilderyazuo/platform/external/eigenyazuo/platform/external/elfutilsyazuo/platform/external/embunityazuo/platform/external/emmayazuo/platform/external/esdyazuo/platform/external/expatyazuo/platform/external/eyes-freeyazuo/platform/external/fdlibmyazuo/platform/external/flacyazuo/platform/external/freetypeyazuo/platform/external/fsck_msdosyazuo/platform/external/ganymed-ssh2yazuo/platform/external/gcc-demangleyazuo/platform/external/genext2fsyazuo/platform/external/giflibyazuo/platform/external/google-diff-match-patchyazuo/platform/external/grubyazuo/platform/external/gtestyazuo/platform/external/guavayazuo/platform/external/hamcrestyazuo/platform/external/harfbuzzyazuo/platform/external/harfbuzz_ngyazuo/platform/external/hyphenationyazuo/platform/external/icu4cyazuo/platform/external/iproute2yazuo/platform/external/ipsec-toolsyazuo/platform/external/iptablesyazuo/platform/external/iputilsyazuo/platform/external/LaunchPPPoeyazuo/platform/external/libifaddrsyazuo/platform/external/pppoeyazuo/platform/external/javasqliteyazuo/platform/external/javassistyazuo/platform/external/jdiffyazuo/platform/external/jheadyazuo/platform/external/jmdnsyazuo/platform/external/jmonkeyengineyazuo/platform/external/jpegyazuo/platform/external/jsilveryazuo/platform/external/jsr305yazuo/platform/external/junityazuo/platform/external/kernel-headersyazuo/platform/external/libcap-ngyazuo/platform/external/libffiyazuo/platform/external/libgsmyazuo/platform/external/liblzfyazuo/platform/external/libmtpyazuo/platform/external/libnfc-nciyazuo/platform/external/libnfc-nxpyazuo/platform/external/libnl-headersyazuo/platform/external/liboggyazuo/platform/external/libpcapyazuo/platform/external/libphonenumberyazuo/platform/external/libpngyazuo/platform/external/libpppyazuo/platform/external/libselinuxyazuo/platform/external/libsepolyazuo/platform/external/libusbyazuo/platform/external/libusb-compatyazuo/platform/external/libvorbisyazuo/platform/external/libvpxyazuo/platform/external/libxml2yazuo/platform/external/libxsltyazuo/platform/external/libyuvyazuo/platform/external/linux-tools-perfyazuo/platform/external/littlemockyazuo/platform/external/wide-dhcpv6yazuo/platform/external/llvmyazuo/platform/external/lzmayazuo/platform/external/marisa-trieyazuo/platform/external/markdownyazuo/platform/external/mdnsresponderyazuo/platform/external/mesa3dyazuo/platform/external/mkshyazuo/platform/external/mockitoyazuo/platform/external/mockwebserveryazuo/platform/external/mp4parseryazuo/platform/external/mtpdyazuo/platform/external/naver-fontsyazuo/platform/external/netcatyazuo/platform/external/netperfyazuo/platform/external/nevenyazuo/platform/external/nist-pkitsyazuo/platform/external/nist-sipyazuo/platform/external/noto-fontsyazuo/platform/external/oauthyazuo/platform/external/objenesisyazuo/platform/external/okhttpyazuo/platform/external/open-vcdiffyazuo/platform/external/opencvyazuo/platform/external/openfstyazuo/platform/external/opensshyazuo/platform/external/opensslyazuo/platform/external/oprofileyazuo/platform/external/pixmanyazuo/platform/external/pppyazuo/platform/external/proguardyazuo/platform/external/protobufyazuo/platform/external/qemuyazuo/platform/external/qemu-pc-biosyazuo/platform/external/regex-re2yazuo/platform/external/replicaislandyazuo/platform/external/robolectricyazuo/platform/external/safe-iopyazuo/platform/external/scryptyazuo/platform/external/sepolicyyazuo/platform/external/sfntlyyazuo/platform/external/sil-fontsyazuo/platform/external/skiayazuo/platform/external/smackyazuo/platform/external/smaliyazuo/platform/external/sonivoxyazuo/platform/external/speexyazuo/platform/external/sqliteyazuo/platform/external/srecyazuo/platform/external/srtpyazuo/platform/external/stlportyazuo/platform/external/straceyazuo/platform/external/stressapptestyazuo/platform/external/svoxyazuo/platform/external/tagsoupyazuo/platform/external/tcpdumpyazuo/platform/external/timezonepicker-supportyazuo/platform/external/tinyalsayazuo/platform/external/tinycompressyazuo/platform/external/tinyxmlyazuo/platform/external/tinyxml2yazuo/platform/external/tremoloyazuo/platform/external/v8yazuo/platform/external/valgrindyazuo/platform/external/webpyazuo/platform/external/webrtcyazuo/platform/external/wpa_supplicant_8yazuo/platform/external/xmlwriteryazuo/platform/external/xmp_toolkityazuo/platform/external/yaffs2yazuo/platform/external/zlibyazuo/platform/external/zxingyazuo/platform/frameworks/avyazuo/platform/frameworks/baseyazuo/platform/frameworks/compile/libbccyazuo/platform/frameworks/compile/mclinkeryazuo/platform/frameworks/compile/slangyazuo/platform/frameworks/exyazuo/platform/frameworks/mlyazuo/platform/frameworks/bluetoothyazuo/platform/frameworks/nativeyazuo/platform/frameworks/opt/calendaryazuo/platform/frameworks/opt/colorpickeryazuo/platform/frameworks/opt/datetimepickeryazuo/platform/frameworks/opt/emojiyazuo/platform/frameworks/opt/inputmethodcommonyazuo/platform/frameworks/opt/mailcommonyazuo/platform/frameworks/opt/mmsyazuo/platform/frameworks/opt/net/voipyazuo/platform/frameworks/opt/photovieweryazuo/platform/frameworks/opt/timezonepickeryazuo/platform/frameworks/opt/telephonyyazuo/platform/frameworks/opt/vcardyazuo/platform/frameworks/rsyazuo/platform/frameworks/supportyazuo/platform/frameworks/testingyazuo/platform/frameworks/uiautomatoryazuo/platform/frameworks/volleyyazuo/platform/frameworks/webviewyazuo/platform/frameworks/wilhelmyazuo/platform/hardware/akmyazuo/platform/hardware/broadcom/libbtyazuo/platform/hardware/broadcom/wlanyazuo/platform/hardware/invensenseyazuo/platform/hardware/libhardwareyazuo/platform/hardware/libhardware_legacyyazuo/platform/hardware/qcom/audioyazuo/platform/hardware/qcom/btyazuo/platform/hardware/qcom/camerayazuo/platform/hardware/qcom/displayyazuo/platform/hardware/qcom/keymasteryazuo/platform/hardware/qcom/mediayazuo/platform/hardware/qcom/msm8960yazuo/platform/hardware/qcom/msm8x74yazuo/platform/hardware/qcom/poweryazuo/platform/hardware/qcom/wlanyazuo/platform/hardware/rilyazuo/platform/hardware/samsung_slsi/exynos5yazuo/platform/hardware/ti/omap3yazuo/platform/hardware/ti/omap4xxxyazuo/platform/hardware/ti/wlanyazuo/platform/hardware/ti/wpanyazuo/platform/libcoreyazuo/platform/libnativehelperyazuo/platform/ndkyazuo/kernelyazuo/mediatekyazuo/vendoryazuo/platform/packages/providers/DrmProvideryazuo/platform/packages/apps/DeviceTestAppyazuo/platform/packages/apps/BasicSmsReceiveryazuo/platform/packages/apps/Bluetoothyazuo/platform/packages/apps/Browseryazuo/platform/packages/apps/Calculatoryazuo/platform/packages/apps/Calendaryazuo/platform/packages/apps/Camerayazuo/platform/packages/apps/Camera2yazuo/platform/packages/apps/CellBroadcastReceiveryazuo/platform/packages/apps/CertInstalleryazuo/platform/packages/apps/Contactsyazuo/platform/packages/apps/ContactsCommonyazuo/platform/packages/apps/DeskClockyazuo/platform/packages/apps/Dialeryazuo/platform/packages/apps/Emailyazuo/platform/packages/apps/Exchangeyazuo/platform/packages/apps/Galleryyazuo/platform/packages/apps/Gallery2yazuo/platform/packages/apps/HTMLVieweryazuo/platform/packages/apps/InCallUIyazuo/platform/packages/apps/KeyChainyazuo/platform/packages/apps/Launcher2yazuo/platform/packages/apps/Launcher3yazuo/platform/packages/apps/LegacyCamerayazuo/platform/packages/apps/Mmsyazuo/platform/packages/apps/Musicyazuo/platform/packages/apps/MusicFXyazuo/platform/packages/apps/Nfcyazuo/platform/packages/apps/OneTimeInitializeryazuo/platform/packages/apps/PackageInstalleryazuo/platform/packages/apps/PhoneCommonyazuo/platform/packages/apps/Protipsyazuo/platform/packages/apps/Provisionyazuo/platform/packages/apps/QuickSearchBoxyazuo/platform/packages/apps/Settingsyazuo/platform/packages/apps/SoundRecorderyazuo/platform/packages/apps/SparePartsyazuo/platform/packages/apps/SpeechRecorderyazuo/platform/packages/apps/Stkyazuo/platform/packages/apps/Tagyazuo/platform/packages/apps/UnifiedEmailyazuo/platform/packages/apps/VideoEditoryazuo/platform/packages/apps/VoiceDialeryazuo/platform/packages/experimentalyazuo/platform/packages/inputmethods/LatinIMEyazuo/platform/packages/inputmethods/OpenWnnyazuo/platform/packages/inputmethods/PinyinIMEyazuo/platform/packages/providers/ApplicationsProvideryazuo/platform/packages/providers/CalendarProvideryazuo/platform/packages/providers/ContactsProvideryazuo/platform/packages/providers/DownloadProvideryazuo/platform/packages/providers/MediaProvideryazuo/platform/packages/providers/PartnerBookmarksProvideryazuo/platform/packages/providers/TelephonyProvideryazuo/platform/packages/providers/UserDictionaryProvideryazuo/platform/packages/screensavers/Basicyazuo/platform/packages/screensavers/PhotoTableyazuo/platform/packages/screensavers/WebViewyazuo/platform/packages/services/Telephonyyazuo/platform/packages/wallpapers/Basicyazuo/platform/packages/wallpapers/Galaxy4yazuo/platform/packages/wallpapers/HoloSpiralyazuo/platform/packages/wallpapers/LivePickeryazuo/platform/packages/wallpapers/MagicSmokeyazuo/platform/packages/wallpapers/MusicVisualizationyazuo/platform/packages/wallpapers/NoiseFieldyazuo/platform/packages/wallpapers/PhaseBeamyazuo/platform/pdkyazuo/platform/prebuilts/clang/linux-x86/3.1yazuo/platform/prebuilts/devtoolsyazuo/platform/prebuilts/eclipseyazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7yazuo/platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6yazuo/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7yazuo/platform/prebuilts/miscyazuo/platform/prebuilts/ndkyazuo/platform/prebuilts/python/darwin-x86/2.7.5yazuo/platform/prebuilts/python/linux-x86/2.7.5yazuo/platform/prebuilts/qemu-kernelyazuo/platform/prebuilts/runtimeyazuo/platform/prebuilts/sdkyazuo/platform/prebuilts/toolsyazuo/platform/sdkyazuo/platform/system/mobile_toolkityazuo/platform/system/coreyazuo/platform/system/extrasyazuo/platform/system/mediayazuo/platform/system/netdyazuo/platform/system/securityyazuo/platform/system/voldyazuo/platform/tools/external/fat32libyazuo/platform/tools/external/gradleyazuo/platform/tools/idea3)编写初始化源码仓库脚本server_create.shvim server_create.sh添加#/bin/bashset-xset-epwd=${PWD}cd/home/gitolite/reposdoif[ -z"$line"];thenechowork_dir not exist !!!1&&2continuefigit init --bare$line.gitecho====$linepwddone4)初始化空的源码仓库【在服务器上使用gitolite用户操作】cat server.txt | ./server_create.sh5)生成client.txt使用 cat default.xml | cut -d ‘”’ -f 2 & client.txt生成client.txt,将无关的字符删除-1.0--yazuo-..-ssh-master-yazuo-1-core/root.mk--得到一个本地客户端仓库路径的文本 client.txtbuildabi/cppartbionicbootable/bootloader/lkbootable/diskinstallerbootable/recoveryctsdalvikdevelopers/builddevelopers/samples/androiddevelopmentdevice/asus/debdevice/asus/flodevice/asus/flo-kerneldevice/asus/grouperdevice/asus/tilapiadevice/commondevice/generic/armv7-a-neondevice/generic/commondevice/generic/goldfishdevice/generic/mipsdevice/generic/mini-emulator-armv7-a-neondevice/generic/mini-emulator-mipsdevice/generic/mini-emulator-x86device/generic/x86device/google/accessory/arduinodevice/google/accessory/demokitdevice/lge/hammerheaddevice/lge/hammerhead-kerneldevice/lge/makodevice/lge/mako-kerneldevice/sampledevice/samsung/mantadocs/external/aacexternal/android-clatexternal/android-mockexternal/ant-globexternal/antlrexternal/apache-harmonyexternal/apache-httpexternal/apache-xmlexternal/arduinoexternal/bisonexternal/blktraceexternal/bluetooth/bluedroidexternal/bouncycastleexternal/bsdiffexternal/bzip2external/ceres-solverexternal/checkpolicyexternal/chromiumexternal/chromium-libpacexternal/chromium-traceexternal/chromium_orgexternal/chromium_org/sdch/open-vcdiffexternal/chromium_org/testing/gtestexternal/chromium_org/third_party/WebKitexternal/chromium_org/third_party/angle_dx11external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/brailleexternal/chromium_org/third_party/freetypeexternal/chromium_org/third_party/icuexternal/chromium_org/third_party/leveldatabase/srcexternal/chromium_org/third_party/libjingle/source/talkexternal/chromium_org/third_party/libphonenumber/src/phonenumbersexternal/chromium_org/third_party/libphonenumber/src/resourcesexternal/chromium_org/third_party/mesa/srcexternal/chromium_org/third_party/opensslexternal/chromium_org/third_party/opus/srcexternal/chromium_org/third_party/otsexternal/chromium_org/third_party/skia/gypexternal/chromium_org/third_party/skia/includeexternal/chromium_org/third_party/skia/srcexternal/chromium_org/third_party/smhasher/srcexternal/chromium_org/third_party/yasm/source/patched-yasmexternal/chromium_org/tools/gritexternal/chromium_org/tools/gypexternal/chromium_org/v8external/clangexternal/compiler-rtexternal/dexmakerexternal/dhcpcdexternal/dnsmasqexternal/doclavaexternal/dropbearexternal/droiddriverexternal/e2fsprogsexternal/easymockexternal/eclipse-basebuilderexternal/eclipse-windowbuilderexternal/eigenexternal/elfutilsexternal/embunitexternal/emmaexternal/esdexternal/expatexternal/eyes-freeexternal/fdlibmexternal/flacexternal/freetypeexternal/fsck_msdosexternal/ganymed-ssh2external/gcc-demangleexternal/genext2fsexternal/giflibexternal/google-diff-match-patchexternal/grubexternal/gtestexternal/guavaexternal/hamcrestexternal/harfbuzzexternal/harfbuzz_ngexternal/hyphenationexternal/icu4cexternal/iproute2external/ipsec-toolsexternal/iptablesexternal/iputilsexternal/LaunchPPPoeexternal/libifaddrsexternal/pppoeexternal/javasqliteexternal/javassistexternal/jdiffexternal/jheadexternal/jmdnsexternal/jmonkeyengineexternal/jpegexternal/jsilverexternal/jsr305external/junitexternal/kernel-headersexternal/libcap-ngexternal/libffiexternal/libgsmexternal/liblzfexternal/libmtpexternal/libnfc-nciexternal/libnfc-nxpexternal/libnl-headersexternal/liboggexternal/libpcapexternal/libphonenumberexternal/libpngexternal/libpppexternal/libselinuxexternal/libsepolexternal/libusbexternal/libusb-compatexternal/libvorbisexternal/libvpxexternal/libxml2external/libxsltexternal/libyuvexternal/linux-tools-perfexternal/littlemockexternal/wide-dhcpv6external/llvmexternal/lzmaexternal/marisa-trieexternal/markdownexternal/mdnsresponderexternal/mesa3dexternal/mkshexternal/mockitoexternal/mockwebserverexternal/mp4parserexternal/mtpdexternal/naver-fontsexternal/netcatexternal/netperfexternal/nevenexternal/nist-pkitsexternal/nist-sipexternal/noto-fontsexternal/oauthexternal/objenesisexternal/okhttpexternal/open-vcdiffexternal/opencvexternal/openfstexternal/opensshexternal/opensslexternal/oprofileexternal/pixmanexternal/pppexternal/proguardexternal/protobufexternal/qemuexternal/qemu-pc-biosexternal/regex-re2external/replicaislandexternal/robolectricexternal/safe-iopexternal/scryptexternal/sepolicyexternal/sfntlyexternal/sil-fontsexternal/skiaexternal/smackexternal/smaliexternal/sonivoxexternal/speexexternal/sqliteexternal/srecexternal/srtpexternal/stlportexternal/straceexternal/stressapptestexternal/svoxexternal/tagsoupexternal/tcpdumpexternal/timezonepicker-supportexternal/tinyalsaexternal/tinycompressexternal/tinyxmlexternal/tinyxml2external/tremoloexternal/v8external/valgrindexternal/webpexternal/webrtcexternal/wpa_supplicant_8external/xmlwriterexternal/xmp_toolkitexternal/yaffs2external/zlibexternal/zxingframeworks/avframeworks/baseframeworks/compile/libbccframeworks/compile/mclinkerframeworks/compile/slangframeworks/exframeworks/mlframeworks/bluetoothframeworks/nativeframeworks/opt/calendarframeworks/opt/colorpickerframeworks/opt/datetimepickerframeworks/opt/emojiframeworks/opt/inputmethodcommonframeworks/opt/mailcommonframeworks/opt/mmsframeworks/opt/net/voipframeworks/opt/photoviewerframeworks/opt/timezonepickerframeworks/opt/telephonyframeworks/opt/vcardframeworks/rsframeworks/supportframeworks/testingframeworks/uiautomatorframeworks/volleyframeworks/webviewframeworks/wilhelmhardware/akmhardware/broadcom/libbthardware/broadcom/wlanhardware/invensensehardware/libhardwarehardware/libhardware_legacyhardware/qcom/audiohardware/qcom/bthardware/qcom/camerahardware/qcom/displayhardware/qcom/keymasterhardware/qcom/mediahardware/qcom/msm8960hardware/qcom/msm8x74hardware/qcom/powerhardware/qcom/wlanhardware/rilhardware/samsung_slsi/exynos5hardware/ti/omap3hardware/ti/omap4xxxhardware/ti/wlanhardware/ti/wpanlibcorelibnativehelperndkkernelmediatekvendorpackages/providers/DrmProviderpackages/apps/DeviceTestApppackages/apps/BasicSmsReceiverpackages/apps/Bluetoothpackages/apps/Browserpackages/apps/Calculatorpackages/apps/Calendarpackages/apps/Camerapackages/apps/Camera2packages/apps/CellBroadcastReceiverpackages/apps/CertInstallerpackages/apps/Contactspackages/apps/ContactsCommonpackages/apps/DeskClockpackages/apps/Dialerpackages/apps/Emailpackages/apps/Exchangepackages/apps/Gallerypackages/apps/Gallery2packages/apps/HTMLViewerpackages/apps/InCallUIpackages/apps/KeyChainpackages/apps/Launcher2packages/apps/Launcher3packages/apps/LegacyCamerapackages/apps/Mmspackages/apps/Musicpackages/apps/MusicFXpackages/apps/Nfcpackages/apps/OneTimeInitializerpackages/apps/PackageInstallerpackages/apps/PhoneCommonpackages/apps/Protipspackages/apps/Provisionpackages/apps/QuickSearchBoxpackages/apps/Settingspackages/apps/SoundRecorderpackages/apps/SparePartspackages/apps/SpeechRecorderpackages/apps/Stkpackages/apps/Tagpackages/apps/UnifiedEmailpackages/apps/VideoEditorpackages/apps/VoiceDialerpackages/experimentalpackages/inputmethods/LatinIMEpackages/inputmethods/OpenWnnpackages/inputmethods/PinyinIMEpackages/providers/ApplicationsProviderpackages/providers/CalendarProviderpackages/providers/ContactsProviderpackages/providers/DownloadProviderpackages/providers/MediaProviderpackages/providers/PartnerBookmarksProviderpackages/providers/TelephonyProviderpackages/providers/UserDictionaryProviderpackages/screensavers/Basicpackages/screensavers/PhotoTablepackages/screensavers/WebViewpackages/services/Telephonypackages/wallpapers/Basicpackages/wallpapers/Galaxy4packages/wallpapers/HoloSpiralpackages/wallpapers/LivePickerpackages/wallpapers/MagicSmokepackages/wallpapers/MusicVisualizationpackages/wallpapers/NoiseFieldpackages/wallpapers/PhaseBeampdkprebuilts/clang/linux-x86/3.1prebuilts/devtoolsprebuilts/eclipseprebuilts/gcc/darwin-x86/arm/arm-eabi-4.6prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7prebuilts/gcc/linux-x86/arm/arm-eabi-4.6prebuilts/gcc/linux-x86/arm/arm-eabi-4.7prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7prebuilts/miscprebuilts/ndkprebuilts/python/darwin-x86/2.7.5prebuilts/python/linux-x86/2.7.5prebuilts/qemu-kernelprebuilts/runtimeprebuilts/sdkprebuilts/toolssdksystem/mobile_toolkitsystem/coresystem/extrassystem/mediasystem/netdsystem/securitysystem/voldtools/external/fat32libtools/external/gradletools/idea6)编写初始化源码仓库脚本client_create.shvim client_create.sh 添加:①适用于不带任何 .git 或者.svn 的纯净Android 源码#/bin/bashset-xset-epwd=${PWD} doline1=${line%%/*}if[ -z"$line"];thenechowork_dir not exist !!!1&&2continuefiif[ $(ls -A$pwd/$line| wc-l)-eq0];thenechowork_dir empty !!!1&&2continuefiworkdir=$pwd/$lineecho====$workdircd$workdirrm -rf .git
git init .1&&2git add .-f1&&2git commit -m"Initial commit"1&&2if["$line1"="device"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="kernel"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="mediatek"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="vendor"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelsegit push --set-upstream git://192.168.100.249/yazuo/platform/$line.git masterficd-done②适合本身已有.git的android源码#/bin/bashset-xset-epwd=${PWD}doline1=${line%%/*}if[ -z"$line"];thenechowork_dir not exist !!!1&&2continuefiif[ $(ls -A$pwd/$line| wc-l)-eq0];thenechowork_dir empty !!!1&&2continuefiworkdir=$pwd/$lineecho====$workdircd$workdirgit checkout -B master yazuo/masterif["$line1"="device"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="kernel"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="mediatek"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif["$line1"="vendor"];thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelsegit push --set-upstream git://192.168.100.249/yazuo/platform/$line.git masterficd-done注意:①之前写成了git push --set-upstreamgitolite://192.168.100.249/yazuo/platform/$line.git master报错:fatal: Unable to find remote helper for ‘gitolite’。犯了低级错误引以为戒!②还有写成了gitpush--set-upstream ssh://gitolite@192.168.100.249/yazuo/platform/$line.gitmaster也不行,这样写需要把所有的git工程都加到gitolite-admin/gitolite.conf文件中太麻烦!7)初始化本地源码仓库,并推送到远程服务器仓库【在xia私钥计算机上操作】在本地android源码目录下执行下面命令:cat client.txt| ./client_create.sh耐心等待半小时左右,这样就把本地Android源码推送到服务器端的仓库中了。至此,服务器上的android源码版本库已经完全OK!4.使用repo下载服务器上的android源码(1)下载 git-repo【在xia私钥计算机上操作】在/home/xia目录下执行:git clone /git-repo git-repo.git如果上面的地址不行,自己就在网上搜一个可以下载的。cdgit-repo.git vim repo修改 repoREPO_URL ='/git-repo'REPO_REV ='stable'改为 REPO_URL =/home/xia/git-repo.git
REPO_REV ='master'1)REPO_URL 指的是 repo 所调用和管理引用仓库2)REPO_REV 指的是仓库分支,进入git-repo.git, 使用命令:git branch 查看,我的是 master 分支。(2)将 git-repo.git 目录下的 repo 拷贝到 ~/bin/mkdir~/bincp repo ~/bin/chmod 777 ~/bin/repo(3)测试下载源码cd~/mkdir yazuotestcdyazuotestrepo init -u git://192.168.100.249/manifest.gitrepo sync注意:可以用 -b 参数来指定某个manifest 分支。repo init-ugit://192.168.100.249/manifest.git -b master等待同步完成,大功告成!!!
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:

我要回帖

更多关于 autoconf版本 的文章

 

随机推荐