1. git是一个分布式版本管理系统,关于该工具的详细介绍,我认为廖雪峰老师介绍的非常全面:https://www.liaoxuefeng.com/wiki/896043488029600。
不过,目前网上大多关于git的远程库安装教程都是基于github,事实上有很多工程需求是需要在某一个服务器上安装远程库,而不是在github上,两者大同小异,但是部分细节问题还是很值得记录下来,便于参考。
2. 首先安装远程库:选择一个合适的linux服务器,一般在根目录下安装远程库远程库,我的安装路径是/home/git/project。
cd /home/git/project //进入待安装远程库的目录
sudo mkdir tvm.git //为自己的项目新建一个远程库
sudo chmod -R tvm.git //修改权限
sudo chown git:git -R tvm.git //修改用户
sudo git init --bare //进入远程库,初始化
3. 其次安装本地库,进入你的项目所在的目录,比如:/home/user/src/tvm
cd /home/user/src/tvm //进入项目所在目录
git init //初始化本地库,结果在tvm下就会隐藏一个.git文件
git add cmake/ include/ .... //下面将本地需要传送到远程的文件/文件夹加到缓冲区中
//git add命令可同时传送多个文件,中间用空格隔开;build目录最好不要加上
git commit -m "对修改做简单描述内容:" //提交文件到缓冲区,并写上此次操作(版本)的注释
//至此,你所添加的文件还是在缓冲区中,并没有到达远程库,因为你还没有将你的远程库与你的本地库建立关系
git remote add origin git@10.10.10.10:/home/git/project/tvm.git //关联本地库与远程库(将10.10.10.10换成你建立远程库所在服务器的IP地址)
git push -u origin master //推送数据到远程仓库上
4. 本地库代码的上传与下载
//代码更新
git staus //检查改动之处
git pull //将远程库的最新版本代码下载到本地库 //上传本地库代码
git staus
git add + 修改的内容
git commit -m "对修改做简单描述内容"
git pull //git建立仓库时会有readme.md文件,最好先拷贝一份
git push //上传你的本地仓库
附5. 如果碰巧也有读者正在研究tvm,将本地代码上传到远程库,别人若再想从远程库中下载代码到自己的本地,再build的时候会发现报错:fatal error: dmlc/build_config.h: No such file or directory。
原因:这个文件所在目录路径会被你的.gitignore files 忽略,就导致build过程中找不到build_config.h文件。
解决:可以修改git配置文件:https://www.liaoxuefeng.com/wiki/896043488029600/900004590234208
或者手动将build_config.h文件复制到本地库相应位置。