现在,远程这里只有一个分支,就是这个 master 。在后面每开始一个课程一般我都会创建一个新的分支,然后把在课程里对项目的修改保存在各自的分支上,最后我会把在这些分支上做的提交合并到 master 这个分支上。
也就是,你在 master 分支上看到的项目,是我对项目做的所有的修改,如果你想单独查看我在不同的课程里对项目做的修改,你可以切换到对应的分支上。
我现在再创建一个新的分支,git branch starter, 这个 starter 分支就是项目的初始状态。再把它推送到项目的 origin 这个远程,git push origin starter。
回到项目的远程,刷新一下,你会发现,这里会出现一个 starter 分支。
因为很可能你在学习这个系列课程的时候,用的 Flutter SDK 的版本跟我现在用的不太一样,所以非常有可能导致你在练习的时候,看到的结果跟视频里演示的不太一样。
为了减少学习的时候遇到的错误,你可以使用跟我现在用的一样版本的 Flutter SDK, 在终端,执行一下 flutter --version ,现在我的 SDK 的版本是 flutter 1.10.14,你最好使用跟我一样版本的 Flutter SDK。
准备好了 Flutter SDK 以后,你需要创建一个 Flutter 项目,一般你可以使用 flutter 命令去创建一个项目,不过我推荐你使用我准备好的这个初始项目,就是在 starter 分支上的项目。
我先把我在本地创建的这个 Flutter 项目删除掉,回到上一级目录,然后用 rm -rf 删除掉 w_store_flutter。
现在可以去克隆一下我之前创建的远程仓库,打开这个仓库页面,复制一下仓库的地址,我用的是 SSH 类型的仓库地址,因为我在自己的 github 帐号上已经配置好了 SSH key,如果你没有配置 SSH key 可以选择使用 HTTPS 类型的地址。
回到终端,执行 git clone 后面加上复制的仓库地址。
完成以后,进入到项目所在的目录,w_store_flutter, 进来以后,一般你可以先执行一下 flutter pub get ,解决一下项目依赖的包。
克隆下来的这个项目,默认创建了一个叫 master 的本地分支,这个分支上的东西跟远程上的 master 分支上的东西是一样的。
后面我对项目做的修改都会合并到 master 这个分支上,也就是如果你想看到项目最近的状态,就可以直接运行在这个 master 分支上的应用。
不过一开始,你需要准备一个全新的项目,然后跟着视频一步一步地去练习。这样你可以先基于远程上的 starter 分支去创建一个本地分支。
先查看一下全部的分支 git branch -a ,这里会出现一些 remotes 前缀的分支,这些就是远程上的分支。以后你会看到更多的这种分支。
复制一下这个 remotes/origin/starter,基于它可以创建一个新的分支, git checkout -b starter 后面加上 remotes/origin/starter 。 意思就是基于 remotes/origin/starter 去创建一个本地分支,名字叫 starter,同时把项目切换到这个分支上。
切换到 starter 这个分支以后,你得到的就是一个全新的 Flutter 项目,就是我们要开发的项目的初始状态。
在后面的课程里,我会继续去创建一些分支,如果你想在本地查看这些分支上对项目做的修改,你可以用刚才的方法创建一个本地分支,然后把项目切换到这个分支上。
要注意的话,在基于远程分支创建本地分支之前,你最好先把项目切换到 master 分支,然后执行一下 git pull,这样会把我最近推送到项目远程上的提交,合并到你本地上的 master 分支上。
开始一个课程,我一般会创建一个新的分支,你在本地练习的时候也可以这样做,不过你可以使用不同的分支名称,比如在名字的后面加上一个 dev 后缀,这样你可以跟我创建的分支区别开。
另外你也可以再创建一个分支代替 master 分支的功能,比如创建一个叫 develop 分支。在视频里我可能会把分支合并到 master,你在操作的时候,可以把分支合并到 develop 分支。
也就是你在你的 master 分支上,一直可以获取到我对项目的修改, 在 develop 分支上的东西是你在练习的时候对项目做的修改。