一. 普通项目的上传
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