安装git客户端
1. Windows 系统安装msysgit
Msisgit 默认安装即可。
2. ubuntu下安装 git-core git-gui gitk
命令行:
$: sudo apt-get install git-core git-gui gitk
或者在synaptic package manager里安装
配置用户信息
1. 设置user name 和user email
$: git config --global user.name “ your name”
$: git config --global user.email “ yourname@email_server”
2. 确认设置信息是否正确
$: git config -l
创建 SSH 公钥/私钥对
1.系统下创建SSH公钥/私钥对
1) 执行git bash (windows需要这一步)
2) 在~/下面执行:
$:ssh-keygen -t rsa
命令会提示输入文件名等信息,一直键入 “回车”符即可。
该命令会在~/.ssh下面生成 id_rsa id_rsa.pub 两个文件
3) 上述文件放到服务器中 , 并 添加到 服务器的文件中,如下
cat id_rsa.pub >> ~/.ssh/authorized_keys
服务器端安装 git-demon
1. 创建一个git目录
#mkdir /git
#cd /git/
#mkdir myproject
2. 创建一个空的git仓库
#git-init-db
3. 创建工程的文件
# echo "My test project" > test.txt
* 此步很重要,如果要在远程clone这个project, 这个project必须是非空的,否则会失败。
4. 使用git命令添加并提交新的文件
#git-add test.txt
#git-commit -m "Init"
至此,本地的git 仓库就创建好了。想要在远程clone这个project,还需要使用git-daemon
5. 安装git-daemon-run. git-daemon-run实际是一个脚本管理工具,用来启动git-daemon.
#apt-get install git-daemon-run
6. 配置git-daemon-run
#vi /etc/sv/git-daemon/run
可以看到
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -m64000000 /
git-daemon --verbose --base-path=/var/cache /var/cache/git
将最后一句的git-daemon修改为
git-daemon --verbose --export-all --base-path=/git/
* 这里,我加上了一个--export-all.看下man手册就可以知道,使用该选项后,在git仓库中就不必创建git-daemon-export-ok文件。如果不使用该选项,则在第4步还需要创建该文件,即
#touch git-daemon-export-ok
7.重启git-daemon
我们修改了git-daemon的配置文件,需要重启一下服务
#sv down git-daemon
#sv up git-daemon
8. 从client导出server(192.168.35.69)上的myproject
git-clone git://192.168.35.69/myproject
repo下git库操作
二、获取 repo 工具:
- curl http://android.git.kernel.org/repo > ~/bin/repo
- chmod a+x ~/bin/repo
三、获取正版的 Android 目录树
- mkdir myandroid
- cd myandroid
- repo init --repo-url=git://github.com/MIPS/repo.git --repo-branch=stable -u git://github.com/MIPS/manifests.git -b mips-froyo-r9 --mirror
- repo sync -j18
例子中 myandroid 是随意建立的一个临时的目录,实际位置无关紧要,假设是 /home/xinzhen/myandroid 好了,不妨碍操作。repo sync 比较耗时,可能要跑好几个小时。
四、建立自己的仓库
上一步获取的是完整的 Android 源码树镜像。为防万一我们不去动它,就把它放在那儿好了。我们给它制作一份拷贝,同时放进我们 git-daemon 的工作目录下,以供今后从网络上访问。
- cd /var/lib/git/
- mkdir mipsandroid-xinzhen
- cd mipsandroid-xinzhen
- repo init --repo-url=file:///home/xinzhen/myandroid/repo.git --repo-branch=stable -u file:///home/xinzhen/myandroid/manifests.git -b mips-froyo-r9 --mirror
- repo sync
这样,就在本地又建了一个 git 克隆。它位于 /var/lib/git/ 下面,这个是 git-daemon 的 base-path。如果你的与此不同,则要酌情修改。
修改配置文件 /var/lib/git/mipsandroid-xinzhen/manifests.git/config, 追加以下几行:
[daemon]
uploadpack=true
uploadarch=true
receivepack=true
至此 git 服务端应该已经起来了
五、修改 manifests 使之使用我们自己的路径
- cd /tmp/
- git clone git://192.168.1.51/mipsandroid-xinzhen/manifests.git
- cd manifests/
- vim default.xml
打开 default.xml , 将其中
fetch="git://github.com/MIPS/" />
替换成
fetch="git://192.168.1.51/mipsandroid-xinzhen" />
这里 192.168.1.51 就是我们 git 所在服务器的 IP 地址。
- git commit -am "fetch from local host"
- git push git://192.168.1.51/mipsandroid-xinzhen/manifests.git
写回去。
六、试试看从另一台电脑访问这个 repo 仓库:
- repo init --repo-url=git://192.168.1.51/mipsandroid-xinzhen/repo.git --repo-branch=stable -u git://192.168.1.51/mipsandroid-xinzhen/manifests.git -b mips-froyo-r9
- repo sync -j5
下载开始了没? 开始了,那么恭喜你,建库完成。接下来使用 repo 提供的各类功能,进行分支建立和代码惯例吧,good luck。
七、本文内容来自于 http://zensheno.blog.51cto.com/2712776/489579 ,略作修改。