搭建git远程仓库,repo集成git仓库
一、搭建远程git仓库
搭建git仓 需要先建立远程仓库和所需分支
远程仓库可以建立在不同或相同得服务器上
git init //选择一个目录 执行git init 会产生一个.git目录 如想建多个仓可以改成对应名称test.git 避免重复
建立好远程仓后我们拉取远程仓到本地(可以和远程仓在相同或不同的服务器上,需要保障路径正确) git clone ssh://192.x.x.x/home/xx/xx/test.git 此时拉取的是一个空仓也没有分支
那先创建分支:
git branch aa //创建分支
git branch bb
git push origin aa:aa //推送到远程仓
git push origin bb:bb
#git checkout aa //切换到aa分支
#git checkout bb
上面我们创建了两个分支 那我们可以重新下载想要的分支 git clone ssh://192.x.x.x/home/xx/xx/test.git -b aa
拉取到本地后是一个空仓 分支为aa
现在我们就可以 上传代码了:
echo "helo word" > test.c //!!!注意要确认好当前的分支
git add .
git push origin aa
我们在拉取 git clone ssh://192.x.x.x/home/xx/xx/test.git -b aa 可以看到代码test.c
二、reoo集成仓库
但是通常一个仓满足不了整个工程 我们会用repo命令来集成多个仓
如:我一个工程有需要多个仓 api/i2c.git、api/dma.git /api/gpio.git 先建立好3个远程git仓 步骤同标题一
然后在创建一个repo的集成仓库repo_test.git 拉取到本地,我们在空的repo_test仓里面创建一个xml文件,xml文件中保存着很多仓的仓名及其拉取后的路径
如下:default.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="origin"
fetch="../"
review="ssh://192.x.x.xxx" /> #远程仓ip
<default revision="aa" #默认分支名
remote="origin"
sync-j="4" />
#例如:此xml文件集成了下面3个仓库
<project path="test/api/i2c" name="/home/test/api/i2c.git" /> #path:拉取到本地时的路径; name:远程仓的路径 注意名称需要对应好之前创建的远程仓
<project path="test/api/dma" name="/home/test/api/dma.git" />
<project path="test/api/gpio" name="/home/test/api/gpio.git" revision="master" /> #revision:如不从默认分支上拉取代码 可以重定义分支
</manifest>
注意需要 push到远程的repo_test.git仓库里面
然后我们用 repo init -u ssh://192.x.x.x/home/repo_test.git -b master
拉取后会产生一个.repo文件 repo命令会把你创建reop集成仓名repo_test 替换为manifests
现在我们 repo sync -j32 就可以同时把三个仓都拉取下来。
对应的仓都会有.git文件 例如 test/api/i2c下面就会有.git 那就需要在.git同级目录来push
如此工程集成了3个仓 我们要在对应的仓下面 上传代码 创建分支 等.....
更多推荐



所有评论(0)