搜索
bottom↓
回复: 15

Linux(ubuntu)下开发 AVR,Linux,AVR一起玩-第二篇git使用

[复制链接]

出0入0汤圆

发表于 2013-5-24 14:28:19 | 显示全部楼层 |阅读模式
本帖最后由 草根工作室 于 2013-5-24 14:42 编辑

上一个帖子的地址为:http://www.amobbs.com/thread-5534530-1-1.html
说实话,由于牵涉的东西比较多,也比较乱,我都不知道从何说起,想来想去,还是先简单介绍一下git的使用吧。还是以我的开发板为例,也算打个广告。主要目的是让更多人能更早接触git!毕竟多学样东西比什么都靠谱@@
有两个地方可以下载相关的code:
1:https://github.com/njitdkj082yy/atmega128
2:http://njitdkj082yy.eicp.net,我的服务器上。不过目前服务器开放时间为(20:00-23:00),因为服务器在家,用的花生壳域名,总有掉线的机会,伤不起!
首先,确保自己Linux上已经安装了git:

上图显示我已经安装OK了,没有安装的可以使用上图中的命令。
第一种方式下载code(随时都可以下载)

1:找一个workspace,自己随便创建一个好了
2:下载code:
     git clone https://github.com/njitdkj082yy/atmega128.git
3;进入atmega128目录,里面就是目前开发好的code,有adxl345(G-sensor),hmc5883l(M-sensor),当然都是些简单功能实现罢了:

第二种方式下载(开发时间20:00-23:00)

这种方式在下载是在我的服务器上下载,所以需要到http://njitdkj082yy.eicp.net上去申请,还要传其它东西给我才行,暂时就忽略过去吧~~~

当在workspace中下载好atmega128的code后,就可以在本地开发了,以最简单的实验为例,led吧~
1:首先进入led目录
     $ cd led
2:会发现底下有两个文件,一个led.c,一个Makefile.
3:查看一下led.c这个文件的历史,看看谁改了哪些,这可是git的强大功能之处之一啊!
     $ git log led.c

下面详解下上图的意义:
上图中,共有两个commit,也就意味着,提交过两次,如下:
commit 号               提交人              提交人邮箱                   提交时间                     提交信息
802abe657             yangyang          njitdkj082yy@sina.com    2013-01-30              led.c:add Makefile file
83e7dff1c2             yangyang          njitdkj082yy@sina.com    2013-01-30              <util/delay.h>:..........

这下一目了然了,有个叫yangyang的人分别在2013-1-30日的15:55:44以及16;07:42分别提交过一个commit。那有疑问了,那他究竟改了些什么呢?
我们以最初的一个commit为例,当然也就是时间最早的那个,commit号为:83e7dff...........
这时用git show 命令就可以看出他改了什么了,如下:


如果想先试下效果,直接按底下几个步骤即可:
1:编译    $make

2:插上usbasp下载器,如果是在虚拟机中开发,千万别被外面的windows先认识到usbasp
3:下载:sudo make download
一定要加上sudo,因为正常情况下只有root账户才能去写usb。
4:看看实验现象吧:

至于更多的git的操作,有兴趣的可以在群里再讨论,更多关于开发板的信息在淘宝地址:http://shop72191624.taobao.com查看。有需要的我后续可以再多写点关于本project的git的操作。
底下附上我上面的讲解pdf,有兴趣的可以下载看看。或许因此,你也会发现原来还有一个git的存在!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-5-24 14:41:14 | 显示全部楼层
沙发!!!!

出0入0汤圆

 楼主| 发表于 2013-5-24 14:43:31 | 显示全部楼层
好快啊,我还没修改好呢,沙发就被抢了!

出0入0汤圆

发表于 2013-5-24 14:44:59 | 显示全部楼层
小伙子真猛

出0入0汤圆

发表于 2013-5-24 15:02:10 | 显示全部楼层
github好像不能免费创建项目吧

出0入0汤圆

 楼主| 发表于 2013-5-24 15:09:03 | 显示全部楼层
笑笑我笑了 发表于 2013-5-24 15:02
github好像不能免费创建项目吧

能免费创建的,不过由于github缺点很多,所以自己在家创建了一个服务器,而且提供代码审核功能,完全参考公司做法~~

出0入0汤圆

发表于 2013-5-24 15:25:22 | 显示全部楼层
其实可以配vim来做git的diff,很简单,在~/.gitconfig里加上
  1. [diff]
  2.   external = git_diff
  3. [pager]
  4.   diff =
复制代码
然后再弄个git_diff到$PATH里,内容为:
  1. #!/bin/sh
  2. echo "git diff $5"
  3. vimdiff  -c 'set nomodifiable readonly' "$2" "$5"
复制代码
以后git diff的时候就爽呆了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出10入23汤圆

发表于 2013-5-24 15:37:24 | 显示全部楼层
非常感兴趣,感谢分享

出0入0汤圆

 楼主| 发表于 2013-5-24 15:43:56 | 显示全部楼层
lexchou 发表于 2013-5-24 15:25
其实可以配vim来做git的diff,很简单,在~/.gitconfig里加上然后再弄个git_diff到$PATH里,内容为:以后git ...

哥们想法真靠前啊!以前只用过vimdiff,没想到用git diff的时候也可以跟vim搭上关系,刚试了一下!怎一个牛字了得啊!笑纳了!

出0入0汤圆

发表于 2013-5-24 15:45:36 | 显示全部楼层
草根工作室 发表于 2013-5-24 15:43
哥们想法真靠前啊!以前只用过vimdiff,没想到用git diff的时候也可以跟vim搭上关系,刚试了一下!怎一个 ...

SVN也可以搭配vim使用,方法见  chou.it/2013/03/use-vim-to-do-svn-di

出0入0汤圆

发表于 2013-5-24 16:27:00 | 显示全部楼层
都是高手学习了

出0入0汤圆

发表于 2013-5-24 16:32:21 | 显示全部楼层
把用户加到USB组里面去就可以不用sudo了,也可以chmod +s /usr/bin/avrdude,不过不推荐.用root用户进行日常操作不是好习惯,可以参考安卓手机.

出0入0汤圆

发表于 2013-5-24 16:35:52 | 显示全部楼层
mark下!

出0入0汤圆

发表于 2013-5-26 14:53:11 | 显示全部楼层
是应该要把用户加到usb组

出0入0汤圆

发表于 2016-1-23 19:28:00 | 显示全部楼层
不错,学习git中

出0入0汤圆

发表于 2016-1-23 20:02:03 | 显示全部楼层
我们公司从svn转向git使用。刚刚开始使用git用得很痛苦
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 17:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表