1,项目开发概述
项目开发流程
- 需求分析
- 系统功能设计
- 详细功能设计
- 编码阶段
- 测试
功能需求
项目名称:温控风扇
满足自动温控功能
- 温度高,报警
- 温度高,启动风扇降温
- 温度低,风扇自动停止
功能分解
温度测量功能
温度上报云
温度告警
- 高温告警
- 低温告警
风扇控制
- 电源控制
-风扇方向控制
语音指令控制
项目开发准备
- 在阿里生活物联网平台创建产品
- 定义产品的数据模型
- 准备硬件
- 阅读硬件手册
- 编写硬件驱动代码
- 编写硬件控制逻辑
- 编写上云代码
2,项目管理工具简介
项目开发版本管理
- 为什么需要版本管理
- 版本管理工具介绍
SVN(subversion的缩写)
Git
linux下:root@tianmao-virtual-machine:/AliOS-Things-3.1.0# gitk
Git简介 - Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
Git是为了帮助Linus Torvalds管理Linux内核开发而开发的一个开放源代码的版本控制软件。 - 什么是版本控制系统?
Windows安装
git init 在本地创建一个.git的空的仓库,想把本地文件加到仓库git add*.c ,git add*.h ,git status git config --global配置用户名
- 下载安装包安装即可
- https://git-scm.com/downloads
ubuntu安装
apt-get install git
创建git服务器
-
添加git用户
adduser git
passwd git -
修改密码文件
vim /etc/passwd
git ❌1005:1005::/home/git:/usr/bin/git-shell -
远程服务器
git init -bare yourcode.git
chown git:git yourcode -R
git init需要修改下面文件
vim .git/config
添加
[receive]
denyCurrentBranch=ignore
修改提交的用户名和邮箱
git config user.name xxx
git config user.email stu@qq.com
git commit -m "init my git project "把git代码提交到本地仓库,-m选项注释 ,“ ”注释内容
mkdir gittest
cd gittest
cp 文件 gittest/
git init (创建一个空的git仓库)
git add *.c(文件中的)
git add *.h(文件夹中的)
git status (查看状态)
git config --global
git config user.name xxx
git config user.email stu@ss.com
git commit -m "init git" (提交文件)
git log (查看提交记录)
git diff xxx xxx(查看差别)
git checkout filename.c(还未提交前,撤销修改)
git rm file(删除文件)
git push origin master(push 文件)
git pull --rebase(pull 文件)
git reset xxxx(回退操作,节点指针变化)
git reset -hard xxxx(回退操作,代码恢复到之前的状态)
分支操作:
切换分支(git checkout branchname)
查看分支(git branch -v)
创建分支(git branch branchname)
删除分支(git branch -d dev)
然后在Linux下gittest下使用gitk命令
重新建仓库 rm -rf .git
git status(没有git仓库)
修改代码后,需要使用git add 文件名(修改的),git commit -m "modify files"提交
代码修改后和修改前代码差异的比较:
5,项目管理工具远程使用
从服务器上拉到本地仓库:git clone root@192.168.1.12:/gittest/.git
将gittest目录下的某个文件进行修改后,进行git add 和 git commit,使用git log 多出一个节点。此时服务器上的节点没有变。使用 git remote -v显示远程的仓库是哪一个,git push origin newbranch ,此时git log多了一个节点,指示推送到.git 下面去了,但本地的代码没有发生改变,git reset --hard源代码和仓库代码一样了,使用gitk看是否在源代码基础上进行了修改。
推送到远程仓库是,需要在.git的Config文件中添加一行 denyCurrentBranch = ignore(服务器端).
恢复修改前的内容:git reset --hard xxx(节点)
git commit --amend(修改提交注释),若在服务器端修改了文件内容,可以使用git pull --rebase (拉到本地,做更新)。