git代码维护简易说明-燚智能硬件开发周教授
之前讲过gitolite服务器的管理, 这里我们看一下每一个用户,在本地怎么应用git管理我们source code或者文件。为了便于描述我们使用3个分支来做说明,具体说明如下:
Master:是从平台厂商获取的代码,与平台厂商保持一致,在此基础上没有做过任何修改。
S303 branch:应用层开发使用分支,BSP更新后,这个分支需要将BSP的修改同步过来。
S303_Driver branch: BSP开发者使用分支,bsp同事在此基线上书写driver 调试硬件。
1.获取代码:
ssh gitolite: 在使用ssh gitolite之前,你需要将自己的电脑上通过ssh-keygen生成的公匙发给gitolite的服务器者,添加用户。添加后,你就可以再ubuntu终端中输入此命令即可获取服务器上的代码。作者这里使用的是;putty远程连接到ubuntu系统中的。
获取代码方法:git clone gitolite:rdadroid-4.2.2_r1-rel2.7。这个命令就是从你的服务器上copy一份代码带本地来, clone完成,你就可以再你对应的目录下查看对应的源码了。
1)git fetch:就是将服务器上的代码和本地的代码做一次同步,保证本地和服务器上的是一直的。尤其在每一次切换分支,提交代码时,最好做一下同步,避免代码冲突。
2)git branch -a 查看所有分支 , 绿色,白色的为本地分支; 红色的为服务器上的分支。3)远程分支切换,如果是远程分支,本地还没有拉下来,切换方式如下.
git checkout --track origin/S303_Driver
4)本地分支切换.
git checkout S303_Driver
2.git上传代码
1)上传代码前,请提交所有的修改,并确保此时在上传的分支上.
2)同步服务器最新代码.
git fetch
git rebase origin/S303_Driver: 合并代码,将本地和服务器上的代码做一次合并。
3)上传提交,如分支名是S303_Driver,下面的语句,前一个S303_Driver是本地分支名,
后面一个S303_Driver是远程分支名.
git push origin S303_Driver:S303_Driver
Erorr:Git push 出现线面问题:说明代码有冲突,需要先 先git pull 一次,在执行git push。
4)本地上传:
git add +上传文件:将代码添加本地的git 库中。
git commit “ 备注”: 说明提交的内容,代码修改的原因。
5)切换本地分支:git chekcout S303
6)使用git log 查看就是否成功.
7)在log中查看哪一行被修发了:git log -p+ “commit 编号”
8)git log --stat 查看修改文件路径