使用github管理你的代码
关于为什么使用github,网上已经有很多讨论了。当然选择还有google code, Bitbucket,sourceforge。github有如下优势:
1. github更有利于开源项目的发展
source forge并没有充分体现这一点,它更像一个开源软件下载站。至于Google Code,这是个传奇。但是已经被新CEO布林颁布的大扫除政策打死了,属于边缘化业务,Google不会投入新精力了,只是碍于原本有很多项目依旧运行在Google Code上,所以才没有像Google Reader一样彻底关闭。但是基本上活跃用户都迁走了。
在github上使用开源项目的流程是:
a. 下载,可以直接下载或者git clone下来,可以下载当前版本也可以下载某个分支,或者某个tag,甚至是某个commit
b. 使用(这个跟sf差不多了)
c. 修改,直接fork一个就可以改了,改完可以给作者发个pull request,这样才能让开源项目不断的完善起来
github 让这一切都变得简单,直接;不像很久以前的开源界,想要贡献点代码,你还得先进mail list,先帮着解答,时机成熟了再让你改点bug
2. github更方便沟通
任何人可以给项目创建issue, 写上特性需求或者报告bug,作者或项目成员会很快做出回应
在 sf上,作者和项目成员都不知道在哪,只有在版本发布的时候会在上面更新一下
3. github引入了社交元素
github 上的用户是可以follow别人的,也可以watch某个项目
这很重要,可以每天都多了解一点点,每天多进步一点点
唯一不足的地方就是没有像twitter那样,有人follow会发一封email通知下,让你看看是不是要回fo
4. github更开放
github提供众多的api,可以跟多数管理服务整合
网站上有大量的帮助文档,从 git的入门到github的使用都有,非常详细、图文并茂
官方博客经常发布一些技术文章,内容涉及故障处理过程,性能优化,各种技术解决方案的选择思路
此外,可以为项目创建静态网站,并且没有任何的限制,无广告
这个功能被很多人用于托管博客,我的博客就是建在这上面,免费
5. github还在快速发展
从最初github发展时只具备基本的源代码托管功能,到速度的提升(迁至rackspace使国内用户访问飞快),到gist的推出,到wiki的版本化,到pull request的出现。
因为还有一大群不明真相的群众扎根在sf,还不知道github或者还不了解 github有多优秀他们会觉得sourceforge已经非常好了,足够使用,直到有一天,他们真正被github的魅力所吸引所以,我们在很长的一段时间内都会看到,知名项目一个接一个地慢慢往github上移最终,sf的创始人会说:妈的,老子也移过去算了。以上内容转自http://www.cnblogs.com/draem0507/articles/2151162.html。知乎上也有很精彩的讨论:GitHub、Bitbucket、Google
Code 各有哪些优缺点?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如何使用github?
首先去github.com注册账号。windows的客户端我用的是官方的:http://windows.github.com/。当然据说msysgit+TortoiseGit也不错。官方有个15分钟的training不错:http://try.github.com/。Refer to http://training.github.com/ for more trainings.
关于配置,因为git默认采用的https协议,每次的pull(get from git server)/push(upload the local copies to git server)都需要输入密码,因此可以使用ssh key的方式去认证。方法如下:打开Git Shell在其中输入如下命令:ssh-genkey -t rsa -C "email@address"。之后会让你选择是否对存放SSH
Key的文件夹进行加密,选择默认值就可以了。在用户的目录下的有新生成的.ssh 文件夹,复制 id_rsa.pub文件内容,设置到github账户中:登陆你的GitHub账户,依次点击Account Settings >SSH Public Keys >
Add another public key,把id_rsa.pub中的内容拷贝进去 。使用ssh -T git@github.com可以验证设置是否正确:
接下来要使用git shell 设置账号信息:
首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:
git config --global user.name 'anzhsoft'
git config --global user.email anzhsoft@gmail.com
接下来可以将本地的project上传到githcd Project_pathgit init ##在当前目录下生成一个隐藏目录(.git),这个目录就是git用来管理软件版本的仓库。
cd project_path
## 1 initialize the project
git init
##it will generate the dir .git under the project_path, which is used to manage the current repository
## 2 connect the remote git server
git remote add origin git@github.com:anzhsoft/repository.git
## 3 add the items
git add .
## 4 commit
git commit -m "initial commit"
## 5 push to server
git push -u origin master
常见错误可以见 http://blog.csdn.net/dengjianqiang2011/article/details/9260435
如果你在create repository时添加了readme,license等文件,那么##5会出现一些错误:
To git@github.com:anzhsoft/Readings.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:anzhsoft/Readings.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushin
hint: to the same ref. You may want to first merge the remote changes (e.g.
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
直接force这个push就可以了:
git push -f origin master
最后广告贴: welcome to https://github.com/anzhsoft
使用github管理你的代码的更多相关文章
- Github管理自己的代码-远程篇
一.名词解释 Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版 ...
- 在MacOSX下使用Github管理Xcode代码
版本控制应该算是每个程序员所必备的技能,这个重要性,我就不多说了哈.现在版本控制基本上就是两种途径:SVN和Git.对于SVN我并不是非常了解,只知道在Windows下非常实用,但是在MacOSX下, ...
- 构建微服务开发环境7————使用Github管理项目代码的版本
[内容指引] 1.注册GitHub帐号: 2.下载Github Desktop客户端: 3.macOS安装Github Desktop客户端: 4.windows安装Github Desktop客户端 ...
- 使用git和github管理项目代码
以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...
- 使用Git和Github来管理自己的代码和笔记
一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的.我现在创建 ...
- GitHub管理代码-随笔
公司一直用的SVN进行项目管理,平时便自己折腾了下Git,这里做下GitHub的最简单的记录... 在git上创建仓库等就免谈了,网上也有好多教程,直接从创建之后记录: 在github的readme文 ...
- 使用git和github管理自己的项目---基础操作学习[转]
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...
- 使用github管理Eclipse分布式项目开发
使用github管理Eclipse分布式项目开发 老关我在前面的博文(github管理iOS分布式项目开发)中介绍了github管理iOS分布式开发,今天老关将向大家介绍使用github管 理Ecli ...
- (转)GitHub Desktop 拉取 GitHub上 Tag 版本代码
转自:GitHub Desktop 拉取 GitHub上 Tag 版本代码 一直在使用 GitHub Desktop 图形化 git 管理工具,统一项目框架版本时需要切换到ThinkPHP Tag 分 ...
随机推荐
- 漫谈Web缓存架构
计算机领域多处地方用到缓存,比如说为了缓解CPU和内存之间的速度不匹配问题,我们往往通过增加一级.二级.三级缓存,CPU先从缓存中取指令,如果取不到,再从内存中取,并更新缓存,同时,根据程序的局部性原 ...
- 剑指架构师系列-MySQL的安装及主从同步
1.安装数据库 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-commun ...
- AnyConnect使用说明(电脑版Windows)
一.下载客户端 Anyconnect支持Windows.Mac电脑. 二.安装 1.双击打开下载的文件,点“Next”开始安装. 2.选择“I accept …”,再点下一步. 3.点“Install ...
- VSCode 插件推荐
vscode-icons 用于项目中文件类型显示对应的图标,提高文件定位的效率. vscode-tslint 用于 TS 的规范检测 Path Intellisense 用于提示导入文件时候的路 ...
- Go 语言类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量.Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式. 实 ...
- NLP系列(5)_从朴素贝叶斯到N-gram语言模型
作者: 龙心尘 && 寒小阳 时间:2016年2月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50646528 ...
- [精简版]snowing snow
CSS <style> body { background: #eee; } @keyframes mysnow { 0% { bottom: 100%; opacity: 0; } 50 ...
- SOAP Binding: Difference between Document and RPC Style Web Services
SOAP Binding: Difference between Document and RPC Style Web Services 20FLARES Twitter 1Facebook 9Goo ...
- RxJava(十)switchIfEmpty操作符实现Android检查本地缓存逻辑判断
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52585912 本文出自:[余志强的博客] switchIfEmpty ...
- 【SSH系列】spring中为什么要使用IOC
开篇前言 在前面的博文中,小编主要简单的介绍了spring的入门知识,随着学习的深入,我们知道spring最核心的两大技术,IOC和AOP,这两个技术也是spring最耀眼的地方,在后续的博文中小编将 ...