一、在github或者git.china.os上创建一个项目,例如lora
二、在本地安装好git
三、本地对项目的管理
1、将github上项目克隆到本地
git clone https://git.oschina.net/superlike/lora.git如果在github上新建的项目lora是空项目,则不用克隆,直接git init来初始化本地的项目
2、查看远程项目
like@like:~/Git/qtcomTest$ git remote origin like@like:~/Git/qtcomTest$ git remote -v origin https://git.oschina.net/superlike/lora.git (fetch) origin https://git.oschina.net/superlike/lora.git (push)注:如果觉得远程项目的url不对,则可以自行修改
like@like:~/Git/qtcomTest$ git remote remove origin like@like:~/Git/qtcomTest$ git remote add origin https://git.oschina.net/superlike/lora.git
like@like:~/Git/qtcomTest$ git add . like@like:~/Git/qtcomTest$ git commit -m "second commit"注:要在本地项目的目录里面
4、将本地分支合并到远端分支
like@like:~/Git/qtcomTest$ git push -u origin master将当前文件夹下的项目合并到远程项目origin的master分支
5、切换或创建分支
like@like:~/Git/qtcomTest$ git checkout -b like 切换到一个新分支 'like' like@like:~/Git/qtcomTest$ git branch * like master like@like:~/Git/qtcomTest$ git checkout master 切换到分支 'master' 您的分支与上游分支 'origin/master' 一致。 like@like:~/Git/qtcomTest$ git branch like * master6、提交修改的文件到本地
like@like:~/Git/qtcomTest$ git add mainwindow.h like@like:~/Git/qtcomTest$ git commit -m "delete timer" [like a581364] delete timer 1 file changed, 2 insertions(+), 1 deletion(-) like@like:~/Git/qtcomTest$ git add mainwindow.h like@like:~/Git/qtcomTest$ git commit -m "delete timer" 位于分支 like 无文件要提交,干净的工作区提交前最好不在本地的主分支master上
7、然后将本地修改完的子分支合并到本地主分支上
like@like:~/Git/qtcomTest$ git checkout master 切换到分支 'master' 您的分支与上游分支 'origin/master' 一致。 like@like:~/Git/qtcomTest$ git merge like 更新 db4f1f5..a581364 Fast-forward mainwindow.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)8、提交本地主分支到远程分支上
like@like:~/Git/qtcomTest$ git push origin master //这里的master上远程的master分支,因为是要提交本地的主分支,所以必须确保是在本地项目的目录中,并且当前在本地的主分支中 Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 330 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) To https://git.oschina.net/superlike/lora.git db4f1f5..a581364 master -> master9、每次在本地修改代码前,最好先把远程仓库中的项目跟新到本地主分支,然后用本地主分支来更新本地的工作分支
like@like:~/Git/qtcomTest$ git fetch origin master 来自 https://git.oschina.net/superlike/lora * branch master -> FETCH_HEAD like@like:~/Git/qtcomTest$ git checkout like 切换到分支 'like' like@like:~/Git/qtcomTest$ git merge master Already up-to-date.四、总结:
(一)、在github我们只有一个分支,即只有一个远程分支
(二)、在每个开发人员的本地有两个分支,一个是主分支,一个是工作分支。每次项目修改后的提交在工作分支中进行,一天的修改完成后,统一将工作分支中的所有修改合并到本地的主分支中,然后将本地主分支提交到远程分支上
(三)、一天的修改进行之前,先将用远程分支更新本地主分支,然后用本主地分支更新本地的工作分支,然后接下来的修改在本地的工作分支中进行