一. 普通项目的上传

1.首先创建在github上创建自己的文件夹:
在这里插入图片描述
2. cd 到自己需要上传的本地文件夹里面,然后

git init //建立git仓库
git add . (在这里可以创建.gitignore来忽略掉自己不想上传的文件夹) 
git config --global user.email "you@example.com" 
git config --global user.name "Your Name"
git commit -m "first commit"  //提交到仓库
git remote add origin https://github.com/Hansry/Tool-of-depth-estimation.git //将本地的仓库关联到GitHub,后面的https改成刚刚自己的地址
git push -u origin master //上传代码到GitHub远程仓库

3.在后面修改,只需要执行下面命令即可同步到github:

git status //查看当前的git仓库状态,可以使用git status
git add . //更新全部
git commit -m  “更新说明” // "更新说明"将会出现在github上的,以作备注
git pull //先git pull,拉取当前分支最新代码
git push -u origin master //push到远程master分支上

解决github不能上传100M的问题:

git config http.postBuffer 524288000

二. Submodule的使用

当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能

在project项目中引入子模块moduleA,并提交子模块信息

cd project1  //project1为package的名称,moduleA为需要添加的模块的名称
git submodule add ../moduleA.git moduleA   //git submodule add <下载地址>  <保存路径> 
git status
git diff
git add .
git commit -m "add submodule"
git push origin master
cd ..

修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新的子模块代码,我们需要更新父项目中submodule commit id,默认的我们使用git status就可以看到父项目中submodule commit id已经改变了,我们只需要再次提交就可以了。

cd project1/moduleA
git add .
git commit -m "add b.txt"
git push origin master //更新模块,但是不会对整个项目进行更新
cd ..
git status //更新列表,将模块的更新信息添加到整个项目上
git diff
git add .
git commit -m "update submodule add b.txt"
git push origin master
cd ..

更详细的submodule用法参考:https://www.cnblogs.com/nicksheng/p/6201711.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐