经过各种折腾之后,发现git其实还是很简单的;
首先你需要两台机器,一台作为服务器,一台作为开发机器,开发机器从服务器上拉取代码。
目
目录
git建仓
开发机器拉取代码
初始化仓代码
repo管理
repo工具的下载
repo同步时,无法访问google或者离线,则可以从国内源或者拷贝一份已经有的
repo同步时,出现账号问题,添加ssh账号
manifest文件的书写
git建仓
在服务器上创建一个文件夹,使用git init 或者 git init --bare来初始化这个文件夹。这个文件可以命令为file或者file.git,都可以,总之是一个文件夹。
如上图所示,创建两个文件夹git-bare与git-nobare; 然后分别初始化。
不使用bare的方式会在文件夹下创建一个隐藏的.git文件,而使用bare的方式,则没有.git,却有一堆文件,而这堆文件与前者的.git中的文件是一样的。
因此,bare的方式就是将我们的文件设置为了git的工作目录,而非bare则不然;因此大部分时候都用非bare得方式。
开发机器拉取代码
到这里我们就完成了git服务端的设置,接着看开发端。使用如下方式,就可以拉取一份代码了。
git clone dongjian@192.168.147.134:/home/dongjian/cc/git22
git clone dongjian@192.168.147.134:/home/dongjian/cc/git22/.gitgit clone ssh://dongjian@192.168.147.134:22/home/dongjian/cc/git22/.git
git clone ssh://dongjian@192.168.147.134:22/home/dongjian/cc/git22/
可以用git clone 也可以使用git clone ssh, 他们的方式稍有不同,但是都可以下载;然后末尾的文件名,可以是文件夹自己的名字,也可以是下一级的.git名字,总之都是可以的。
使用git remote -v可以看到服务器端这个仓具备fetch与push两个功能。也就是我们既可以拉取代码,也可以push代码到这个仓里。
但是要注意,使用不同的下载方式的仓的地址是不一样的,如下图,origin后面就是地址,可见差别
初始化仓代码
接着我们看看怎么把服务器端的仓填满。只是初始化仓,里面是空的,因此要将最初的代码填入。
我们在开发机器上,进入一分代码目录,然后执行如下命令
git status .
git add .
git commit -m "init a repo"
git remote add origin dongjian@192.168.147.134:/home/dongjian/cc/git-nobare/
git push -u origin master
我们也可以直接在仓里面解压源码,执行add和commit两步即可。他其实就是一个压缩过程。执行完成后,就可以将可以看到的源码删除了;而压缩后的文件被git隐藏起来了。但是这种情况执行git status的时候,就会出现delte的标记,所以还是按照上面那种操作比较好
如果传输一半没有成功,怎么办呢,删除origin
git remote rm origin
repo管理
repo工具的下载
$curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
repo同步时,无法访问google或者离线,则可以从国内源或者拷贝一份已经有的
前面文章成功下载高通代码_高通源码下载-CSDN博客
提到过怎么下载高通代码,下载完成后,根目录下会有一个.repo,拷贝过来用即可
repo同步时,出现账号问题,添加ssh账号
如下命令用户名@远端服务器地址
ssh-copy-id gerrit@192.168.10.1
manifest文件的书写
首先在你的源码的根目录下创建一个manifest.git的文件,然后在这个文件中创建一个default.xml的文件;一定要是default.xml这个名字; 之后,这个manifest.git文件夹也要git init, 做成一个仓。