git服务器:192.168.160.83
本机:192.168.160.89
git服务器下创建git 用户,必要时允许匿名访问
1:服务器上创建目录
$mkdir-p /pub/git/sun.git
$cd/pub/git/sun.git
$gitinit –bare
$chowngit:git /pub/git/moon.git -R
2:本机上操做
$mkdir-p /local/git/moon
$cd/local/git/moon
$gitinit-db
$gitadd *
$gitcommit -a -m “first”
$gitremote add master git@192.168.160.83:/pub/git/sun.git
$gitpush master –all
这样将本地moon目录上传到git 服务器上。
在别的目录主机上git clone 就可以得到moon目录内容
gitclone git@192.168.160.83:/pub/git/sun.git
2.将android源码保存到git 服务器上
到android源码某个git 子项目下
$cdbionic
$rm-rf .git
$gitinit-db
$gitadd *
$gitcommit -a -m “first”
$gitremote add master git@192.168.160.83:/pub/git/sun.git
$gitpush master –all
3.repo管理多个git 项目
服务器端:
$mkdir -p /pub/git/android
$cd/pub/git/android
$mkdir-p external/zxing.git #暂与本地保持一致
$cd external/zxing.git
$gitinit --bare
$cd/pub/git/android
$................... #其它git 库一样创建
主机端:
创建多个git 项目管理
假设工作目录下有某个工程android下有以下相对独立的目录,我们可以分别为这些目录创建git 库
external/zxing
frameworks
hardware
kernel-3.18
libcore
libnativehelper
modem
mtk6580_wimdata_ng/wprocedures
ndk
packages/apps/Bluetooth
packages/apps/Browser
packages/apps/Calculator
$mkdir-p /local/pro/android
$cd/local/pro/android #项目根目录
mkdir-p external/zxing
$cd external/zxing #某个git项目根目录
$gitinit-db
$gitadd *
$gitcommit -a -m “first”
$gitremote add master /pub/git/android/external/zxing.git
$gitpush master --all
$cd-
$................ #对每个git 项目根目录同样操作
这样就可以从/pub/git/android取得代码
gitclone /pub/git/android/external/zxing.git 取得/local/pro/android/external/zxing 下内容
4:
1.在pro1下创建git 仓库
$git init
$git add *
$git commit -a -m “init”
2.在pro2下创建git仓库
$git init
$git add *
$git commit -a -m “init”
将proj1 merge 到proj2
$cd pro2 #pro2根目录
$git remote add nameproj1 # proj1 为根目录全路径
$git fetch name
$git merge name/master #name 可以任取,master 是将proj1 master 分支merge 到proj2,可以其它分支
remote/name/master
git merge origin master -m "commit"//将origin merge 到 master 上
git merge origin/master //将origin上的master分支 merge 到当前 branch 上
git push origin_repo_b branch_a
将branch_a pus 到origin_reop_b