转自:http://serholiu.com/github-share-code

git:一个非常热门的版本管理工具,拥有强大的分支管理特色,速度快速。缺点是大部分都是命令行下面操作,需要对命令很熟悉,不想SVN那样直观。

最近大爱Web编程,于是寻找各种代码中,然后就发现了GitHub这个网站,如果你知道Google Code,那么你就知道这个GitHub是做什么的了。不过GitHub主要是用作基于Git的分布式版本管理系统的库,可以保存和管理自己的代码,而且主要用作代码的合作开发。不过对于我来说,Git控制系统还比较难以掌握,或者开发小系统还不太用得着,因此我把GitHub当作分享和展示代码的网站。

注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣的,也可以直接下载压缩包,或者直接使用Git clone到本地。

因为GitHub是基于Git版本控制系统,所以你上传修改代码什么的,都需要使用Git工具。我这里主要是用来分享和展示代码,所以不想在版本控制方面做过多的阐述,下面就简单讲解一下怎么在GitHub上新建一个项目,还有把自己的代码传上去。下面的前提是你已经注册了GitHub和下载安装了Git——Git下载、Windows版本下载。

上传分享代码

1.在GitHub上建立项目

登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似git@github.com:XXX/XXX.git的地址,这个就是你这个项目的地址了。

2.配置Git以及上传代码

安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:

1 git config --global user.name "Your Real Name"
2 git config --global user.email you@email.address

然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:

1 ssh-keygen -C 'your@email.address' -t rsa

然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。

完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:

1 git init

选择要添加进仓库的文件:

1 git add .

一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:

1 git commit -m 'Test'

-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。

搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:

1
2 git remote add origin git@github.com:XXX/XXX.git
3 git push -u origin master

这个git@github.com:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。

如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。

本文并没有介绍Git和共享代码开发等功能,因为只是给那些像我一样暂时只是分享代码的人参考,如果你想了解更多的Git和GitHub用法,可以参考下面的文章,这些文章也是我写这篇所参考过的:

  1. Git/Github使用方法小记
  2. Git与Github的使用(ubuntu)
  3. GitHub官方文档(E文,我也头痛,不过大部分是图和代码)
  4. Git 中文教程(对初步学习Git非常有用)
  5. Got GitHub——不错的Github使用参考,强烈推荐

当然,GitHub是基于Ruby的,如果你是Python的死忠或者使用Mercurial这个版本管理系统,你也可以使用Bitbucket来分享你的代码。不过网站平台并不是第一重要的,重要的是分享代码的心。

在GitHub上分享和展示你的代码相关推荐

  1. 如何在github上fork一个项目来贡献代码以及同步原作者的修改

    如何在github上fork一个项目来贡献代码以及同步原作者的修改 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码 ...

  2. 实验并解读github上三个DeepDream的Pytorch代码

    实验并解读github上三个DeepDream的Pytorch代码 今天在学习DeepDream的有关内容,关于论文的翻译已经在启发主义--深入神经网络(Inceptionism: Going Dee ...

  3. 在github上分享项目

    两种方式 1.idea工具分享直接本地上传并创建github仓库 2.先在github上创建,然后本地与其关联,再上传 第一种方式: 1.使用idea创建一个空项目 2.菜单VCS>Import ...

  4. GitHub上7000+ Star的Python常用代码合集

    作者 | 二胖并不胖 来源 | 大数据前沿(ID:bigdataqianyan) 今天二胖给大家介绍一个由一个国外小哥用好几年时间维护的Python代码合集.简单来说就是,这个程序员小哥在几年前开始保 ...

  5. 如何在github上找到自己想要的代码_如何在 GitHub 上找到免费且实用的软件?

    GitHub 虽说是以程序员为主的社区,但是上面托管的项目类型却风格迥异. 有认真科研型的,也有上班划水型的. 有面向极客宅男的开发工具,也有给小白麻瓜使用的普通软件. 本周写了几篇文章,大多都在介绍 ...

  6. GitHub上分享的常用算法和数据结构实现原理可视化系统

    一门编程语言入门之后,要想进阶,必须学习算法和数据结构,但是对于初学者来讲算法和数据结构和数据结构的实现原理和机制过于枯涩.抽象难懂. 这里为小伙伴们分享一个名为Algorithm Visualize ...

  7. 【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错

    原文网址:http://www.cnblogs.com/astwish/articles/3548844.html 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码 ...

  8. Github上如何在组织中创建代码仓库,并如何授予该组织中某个小组权限?

    如何在组织中创建代码仓库,并如何授予该组织中某个小组权限? 比如:在google这样的组织中,代码仓库应该属于组织所有的. 现在在组织中创建代码仓库,并且让开发小组能够访问到该组织新创建的代码仓库. ...

  9. github 6月开源项目_我的开源项目如何在短短5天内在GitHub上赢得6,000颗星

    github 6月开源项目 Last month I launched two open source projects on GitHub. A few days later, my Front-E ...

最新文章

  1. 全球与中国PTFE涂层玻璃布市场供给趋势及十四五投资规划研究报告2021年版
  2. 来试试读论文的新神器!AMiner发布“论文背景文献”一键生成工具,帮你搞清一篇论文的“来龙去脉”...
  3. oracle 服务管理,管理 Oracle 内容服务类别
  4. MySQL高级-内存管理及优化
  5. kext updater使用方法_语言清晰度测量方法的前世今生
  6. VSFTP的PASSIVE模式的防火墙设置
  7. 【Python-3.5】Pygal模拟骰子点数,分析结果可视化
  8. 2nbsp;时间管理和内存管理
  9. Java多线程编程实战指南(核心篇)读书笔记(三)
  10. useSSL=false or true如何抉择
  11. Blender进阶Python编程3D开发-源码分析笔记系列-做出你自己的3D数据图表
  12. 唐诗欣赏静夜思用html设计,静夜思-古诗翻译译文赏析-李白诗歌网
  13. 发链(FAB)技术有望突破区块链交易瓶颈
  14. MTK Android LCD模块驱动
  15. android+色调+半透明,91桌面Android3.0绽放 智能美化双管齐下
  16. 基于anyrtc的sdk实现直播连麦互动
  17. macBook下将m4a转换成mp3
  18. 高境三中计算机老师,立德树人奋进担当,教育脱贫托举希望——高境三中热烈庆祝第三十六个教师节...
  19. ajax——请求消息(request)和响应消息(response)
  20. Tello 无人机 python 编程

热门文章

  1. Android开发之旅-Fragment和Activity之间onCreateOptionsMenu的联系
  2. plsql配置连接远程数据库
  3. Java JavaFX 批量修改文件夹里面的文件的名字
  4. webpack查缺补漏
  5. 【HDU - 4345 】Permutation(DP)
  6. 搭建servlet+jsp环境
  7. python连接mysql的操作
  8. iOS 网络通信01
  9. C# 给窗体添加皮肤 - SkinEngine的应用
  10. nagios 主机报警别名修改