本文来自小塔工作室。这是我的个人网站,还不完善,还请多多谅解~
前言
对于一个app从开始创建项目,到最后上线,有一些基础的东西是我们必须要搞清楚的,比如:怎样生成release版本?怎样同时把所有渠道的apk包都打好?怎样进行代码混淆?日志打印类怎么写等等,对于这些许多新手不太明白,所以我特意将这些东西整理成一系列的文章,供新手参考,也便于自己查阅方便。
我们今天来讲一下怎么样把已经建好的工程提交到github上去,需要结合git一起使用,如果没有安装git,请先安装。
问题描述
-
怎样在github上创建仓库?
-
怎样把本地的项目提交到github上?
-
github多人开发怎么维护?
1. 怎样在github上创建仓库?
1.1 创建仓库
如果没有github账户,请自己注册。https://github.com/。
注册好以后,点右上角+,创建一个仓库。
填写信息:Repository name,仓库名称;默认选择public,public表示别人都能访问,private要花钱的;Initialize this repository with a README,选上,表示初始化一个readme文件,我们一般在这个文件中写一些项目说明,如列举项目中的开源库,定义一些规范给这个项目的开发人员看,介绍项目等等一些信息。
填完这些信息后,点击“create repository”创建仓库。
这样就创建成功了!我们可以看到,默认只有一个分支master,还有一次提交记录,就是你创建仓库时创建的readme文件。
1.2 添加分支
一个项目的开发通常是由若干人同时进行的,各自负责一个功能,所以就涉及到了协同工作。协同工作的工具有两种,git和svn,svn较老且有各种缺陷,git则是理想的工具。我们这里用git。一个仓库可以创建若干分支,master分支是主分支,是最稳定的代码。开发人员一般会另开一个分支如dev或developes,开发分支。dec分支和master分支都是最新的代码。然后每个人根据功能再创建自己的分支。如a负责登陆功能的开发,b负责注册功能的开发,这两个人分别创建分支a_login,b_register,开发完成后,分别将代码合并到dev上。这样,几个人开发互不影响,效率提高。
注:master是主分支,一般和dev一样,是最稳定的代码,开发人员开发一个新的功能时,一般都从dev拉代码。一般情况下开发完一个功能后,会把代码合到dev分支。master分支的代码一般都是由dev合过去的。
那既然master和dev一样,为什么要两个一样的分支呢?打个比方,项目3.0功能开发完了,全部merger到了dev和master上,此时,3.0还未上线,但是程序员可能已经需要开始开发3.1的功能了,这个时候,3.1的功能一般会merger到dev,master则保留3.0的代码。</td></tr></table>
说了这么多,怎么添加分支呢?别忘了,现在我们只有一个默认的master分支。我们再来添加一个dev分支。点击下图的master按钮,在弹出的搜索框中输入dev,点击create branch,这样dev分支就建成了。
2. 怎样把本地的项目提交到github上?
远程仓库建成了,我们本地已经有一个项目,我们怎样才能把本地的这个项目推送到github上呢?
-
我们先把github远端的项目clone下来。
打开终端,你想把代码放到哪个目录便切换到哪个目录下。
-
点击clone or download,复制仓库地址。这个地址就是你的项目在github的地址,别人也可以通过访问这个地址看到你的项目。
-
命令行输入:
git clone 粘贴刚才的地址
下图说明clone完成。
打开文件夹,你便会看到有一个多了一个文件夹,名字就是你的仓库名,这是本地仓库。进入文件夹,发现只有一个readme文件。
-
把整个项目文件夹拷到仓库名文件夹内,和readme同级目录
拷贝文件夹之前,先看一下你在哪个分支上。输入命令
git branch -a
如果在master上,我们要切到dev或其他开发分支,这里我们切到dev上。怎么切换分支?输入下面命令:
git checkout dev
此时,我们再查看一下自己处于哪个分支,也就是再执行一遍上面的命令。因为默认master分支是不允许开发的。
-
将代码push到github上
在push之前,我们需要先查看一下当前代码的状态,看看修改了哪些文件。
git status
然后将修改了的文件添加到缓冲区。可以添加全部的文件,也可以添加一个文件,添加全部用下列命令,添加个别文件,将. 换成文件名就可以了。
git add .
将缓冲区的代码提交到本地仓库中
git commit -m "添加自己的注释"
-m的作用是添加注释,为了说明本次提交说明内容。
将本地仓库推送到远端仓库
git push origin dev
到此,我们便将整个项目都推送到github上了,图形化的也有sourcetree,比命令行容易理解一些。sourcetree下载链接
3. github多人开发怎么维护?
回到github上。多人怎么同时开发呢?
- 项目负责人首先Create an organization
创建成功后,可以点击 invlite member,邀请别的成员加入。
- 一次功能完成并且push到自己的分支后,需要提交pull request,这样整个organization的人都能看到这个pull request。pull request里包含了所有的提交记录,每次提交记录修改了哪些代码都能看到。如果项目负责人觉得代码ok,点击merger,将这个分支上的代码merger到dev分支上。
看下图,点“New pull request”。pull request 0 是当前organization 的pull request数。只要有人提交pull request,你就可以从这里点进去看具体提交内容。
看下图,base分支是你当前提交代码的分支,compare分支是你要merger的分支,一般是dev或master。
点create pull request后,你就可以告诉你的leader了。你的leader会检查代码,如果ok,leader点“merger pull request”,就把代码从当前分支(base)合并到compare分支了。