社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 1260|回复: 5

[赛前培训] github基础

[复制链接]

441

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-17 08:12:29 | 显示全部楼层 |阅读模式
注册和环境搭建
     先注册github.com的账号,官方网站: https://github.com/
     需要一个邮箱,同时也要一个昵称,我的是flyloong,之后会用到。
     下载git,地址:https://git-scm.com/downloads
     安装时直接next到最后。
配置git
       任意目录下右击,选择“Git Bash Here”,会弹出窗口,
    1)    先输入如下,,注意ssh-keygen之间是没有空格的,其他的之间是有空格的
  1. ssh-keygen –t rsa –C “邮箱地址”
复制代码
    2)   回车之后,会出现一行,让你输入一个保存密钥的地方,括号里面是它默认的位置,这里会让你输入几次内容,都不用输入,直接回车就可以了,可以看到如图的效果:
    3)     回车之后,这样密钥就生成了,可以用记事本打开id_rsa.pub,然后全部复制,网站上去配置一下ssh key,点击箭头指示的三角图标,选择Settings,然后点击左侧的SSH Keys,之后点击右侧的Add SSH Key,这样就会出现添加SSH Key的界面,在Title这一栏填一个名字,名字随意起,之后打开刚才生成的那个文件id_rsa.pub,全选复制里面的内容到Key这一栏中,点击Add Key按钮完成操作,这时你填的邮箱会收到一封确认的邮件,不用管它。
     4)  验证一下是否设置成功,在git bash下输入如下命令:
  1. ssh –T [url=mailto:git@github.com]git@github.com[/url]
复制代码
        如果你是第一次,会让你输入yes或no,这时输入yes就可以了,其它显示就和我这个是一样的。如果你的是出现不是这些内容,有可能是显示权限问题什么的,就应该是我上面提到的那种情况,你看一下你生成密钥时是否操作正确,目录下是否有那个known_hosts这个文件。
     5)      现在配置一下用户名和邮箱:
  1. git config –global user.name “用户名”
  2. git config –global user.email “邮箱”
复制代码
         到现在为止,我们就算把Git和github配置完了,现在就来托管我们的项目吧。
项目托管
        回到github网页,点击New repository按钮,弹出如下界面,第一行填仓库名,就叫个text,第二行是对这个仓库的描述,之后那个Public就是公共仓库的意思,接下来的README就是在仓库里创建一个README文件,可以往里写一些介绍你这个项目的功能之类的东西,再下面那个Add gitignore按钮,可以选择你这个项目是用什么语言之类的,后面那个License是用来说明该项目遵从什么开源协议,例如我们的EEDrone遵从BSD3,选择后会在更目录下生成一个LICENSE文件,最后点击“Create repository”
       然后到需要托管的项目中去,例如项目文件如下:
        这里最重要的一件事就是添加”.gitignore”文件,整个有几百兆,其中大部分是IDE生成的编译中间文件,这些并没有用,每次编译都会重新生成,可以在IDE里面清除,或者写一个批处理文件清除,都没有添加忽略文件来的方便,直接用文本文件新建一个就好,内容如下:
  1. EWARM/**
  2. !*.icf
  3. !*.eww
  4. !*.ewp
  5. !*.ewd
  6. !*.s
  7. MDK-ARM/**
  8. !*.uvoptx
  9. !*.uvprojx
  10. !*.s
  11. SW4STM32/EEDrone/**
  12. !*.cproject
  13. !*.project
  14. !*.xml
  15. !*.ld
  16. SI/
复制代码
     举例说明如下:
“EWARM/**”这句话的意思是将EWARM文件夹下的内容除需要保留的全部删掉,但是保留该文件夹
“!*.icf“这是EWARM文件夹下将后缀为icf的全部保留
“SI/”是将整个SI文件夹全部删掉
    如果大家是使用iar工程就使用上面的几句代码就好,keil就选用中间的
      写好保存后右击选择“Git Bash Here”
     1)  输入 git init,来完成初始化工作。这时候会自动生产一个隐藏文件夹”.git”
  1. git init
复制代码
    2)  增加对我们github上创建的test仓库的管理。其中origin是一个名字相当于一个宏定义,可以任意取, flyloong是我在网站上注册时使用的用户名,test.git是我为这个项目建立的仓库名。
  1. git remote add origin [url=mailto:git@github.com]git@github.com[/url]: flyloong/test.git
复制代码
    3)  由于我建立仓库的时候创建README.md之时,已经算一次提交了,我需要先在本地同步一下仓库的内容。本地就会多一个README.md文件。
  1. git pull origin master
复制代码
     或者git pull git@github.com: flyloong/test.git
     效果如下:
      此时可以修改代码或者直接上传代码。
     4)  下面就要把我刚创建的文件上传到到仓库上去了,首先执行增加命令,如下:
  1. git add .    (这后面是一个英文的句号)
复制代码
      add后面加了一个点,是想要提交所有文件,如果想提交指定的文件,可以写文件名。
     5)行完增加命令后,要执行提交命令,如下:
  1. git commit –m “这里写下你自己的记录本次提交内容的信息”
复制代码
     -m后面跟提示信息,这个提示信息是一定要写的,不仅是规则,同时也方便我们记录我们提交的过程,写清晰为什么提交或修改了什么是非常有用的。
      6)提交完成后,我们就要把它推送到远程仓库上去了,命令如下:
  1. git push origin master
复制代码
       这样就完成了我们要做的所有任务
      之后可以继续修改代码,那么只需要执行最后面三步就可以了:
  1. git add .  
  2. git commit –m “这里写下你自己的记录本次提交内容的信息”
  3. git push origin master
复制代码
      如果有新的版本发布,又想要留着之前的版本,那么就可以添加tag标签了,如下:
  1. git tag V0.01
复制代码
     其中V0.01是标签名
     上传到网上仓库
  1. git push origin –tags
复制代码
     在github网站上就有了标签了如下:
协同工作
      如果想要多人同时开发,例如有账号”lb8820265”想来共同开发,步骤如下:
1)      Fork,
2)      Clone
在需要下载的地方如下输入如下指令:
  1. git clone [url=https://github.com/flyloong/test.git]https://github.com/flyloong/test.git[/url]
复制代码
3)      修改上传
参考上面,这里就将readme.md里面的test改成test2。
4)      在”lb8820265”用户中点击”Pull requests”:
5)      在下方可以查看本次的修改,点击”Greate pull request”
6)      添加说明:
也可以不写,点击”Greate pullrequest”
7)      同意合并
flyloong会有提醒如下:
     点击弹出如下:
       点击”Merge pull request”就可以合并修改了,点击Fileschanged可以查看修改的内容:
      这样就完成了协调开发了。这是从个人的仓库中fork,通常开源项目是放在github组织上的,例如我们的EEDrone项目,地址是:https://github.com/eedrone这样就可以有多个管理员,都可以允许合并操作,其他的操作类似。
其他常用指令
列出remote:                           git remote (在后面添加-v显示显示地址)
删除remote:                           git remote rm 取的名字
在本地新建一个分支:               git branch Branch1
切换到你的:新分支:                  git,checkout ,Branch1
将新分支发布在github上:       git pushorigin Branch1
在本地删除一个分支:              git branch -d Branch1
在github远程端删除一个分支:git push origin :Branch1   (分支名前的冒号代表删除)
删除错误提交的commit:
gitreset --hard <commit_id>
git push<origin> HEAD --force
其中commit_id是ID号,可以通过git log看到只要输入前面6个就可以,origin是名字
获取commit列表:                 git log

git的官方文档:https://git-scm.com/doc

来源: EEDrone开源四旋翼从零开始(5)--git基础

评分

1

查看全部评分

QQ:252669569


回复

使用道具 举报

4448

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-17 15:16:30 | 显示全部楼层
学习了,正准备用
虾扯蛋


回复

使用道具 举报

577

TA的帖子

2

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-3-15 17:03:16 | 显示全部楼层
看的好迷糊,有没有简单的例子练练手呢?

点评

你看文章末尾那个来源链接里面的会好些,那里面有图片理解起来方便些,有什么不明白的可直接问我  详情 回复 发表于 2017-3-15 17:15


回复

使用道具 举报

441

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-3-15 17:15:00 | 显示全部楼层
dwwzl 发表于 2017-3-15 17:03
看的好迷糊,有没有简单的例子练练手呢?

你看文章末尾那个来源链接里面的会好些,那里面有图片理解起来方便些,有什么不明白的可直接问我
QQ:252669569


回复

使用道具 举报

3423

TA的帖子

5

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2017-4-10 10:05:06 | 显示全部楼层
多谢分享。
个人淘宝店:https://viiot.taobao.com/Q群243090717
主营:zigbee,蓝牙,w5100,zigbee usbdongle等电子产品


回复

使用道具 举报

3423

TA的帖子

5

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2017-4-10 11:34:24 | 显示全部楼层
搞个视频可能更好些
个人淘宝店:https://viiot.taobao.com/Q群243090717
主营:zigbee,蓝牙,w5100,zigbee usbdongle等电子产品


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-11-19 23:49 , Processed in 0.354134 second(s), 17 queries , Redis On.

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