`
anzhsoft
  • 浏览: 23381 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

使用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,代码管理的黄金标准!.zip

    githubGitHub是一个备受推崇的代码托管平台,它为开发者提供了一个方便、高效、协作性强的代码管理环境。通过GitHub,开发者可以将代码托管在云端,并与他人协作...如果你需要管理和协作开发代码,GitHub绝对值得一试!

    Android代码-Github客户端

    GitHub的api管理非学好,好用易懂,真是楷模啊,可以去官网看api的使用介绍。 GitHub客户端登录认证,可以的自己账户设置里OAuth applications-Developer applications中申请。 如果对你有帮助给个star吧,欢迎pull ...

    github使用教程.pdf

    GitHub允许开发者在云端存储和管理他们的源代码、维护版本历史记录、协作开发、审查代码并跟踪问题。它还提供了一系列的功能,如项目管理、Wiki文档、代码片段分享和团队协作工具。 GitHub的一个核心特点是公开的...

    fastgithub 可以快速的进入并使用github

    对于许多开发者和程序员来说,GitHub是一个非常重要的代码托管平台,他们需要频繁地浏览、提交和管理代码。然而,使用GitHub的官方网站进行这些操作可能会有一些繁琐的步骤和不够高效的界面,这就是FastGitHub工具...

    github客户端

    GitHub是一个代码托管的社区,这个服务器是在国外的,一般访问的话要使用https协议,大家可以在搜索引擎上搜查一下,就知道了。 在传统的方式中,我们常常使用命令行的形式去提交代码,但是这样会有许多问题出现。...

    GitHub桌面应用程序:它提供了一个直观和便捷的界面,帮助开发人员更轻松地管理和与GitHub上的代码仓库进行交互

    GitHub Desktop是一个基于Electron的GitHub应用程序,它提供了一个直观和便捷的界面,帮助开发人员更轻松地管理和与GitHub上的代码仓库进行交互。它支持常见的版本控制操作,如代码提交、分支管理和合并请求等,使得...

    github创建仓库及gitbash代码管理

    该文章详细说明了从github的仓库创建到使用gitbash上传,更新代码的流程;及搭建环境过程中常遇到的问题的解决方案,第一次搭建常遇到的问题: 使用git clone xxx 指令下载仓库到本地是可能遇到如下问题: fatal: ...

    github上关于PyQt5的各种各样的demo,方便学习

    非常好的github上关于pyqt5的示例代码,只要你pip insatall pyqt5之后,就能直接运行

    GitHub Desktop(macOS版)是由GitHub开发的完全免费且开源的基于Electron的Git客户端应用程序

    它的特点包括漂亮的分区方法,可以轻松地检查带有pull请求的分支,你可以检查图片和代码区块之间的差异,甚至可以使用拖拽的方式从应用程序中添加项目进行管理。 GitHub Desktop 是一种开源工具,可帮助您提高工作...

    SourceTree 3.0.1-205 github管理神器

    有网友反映从官网下载非常慢,特此搬运过来供下载 应用介绍 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是...可以连接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代码库

    github桌面程序

    github桌面管理工具,用于管理项目源代码的工具,可联网!

    Git&GitHub;&GitLab;.rar

    GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万...

    Gisto-1.13.2.dmg 代码片段管理器,它在GitHub Gists上运行

    {Gisto}是一个代码片段管理器,它在GitHub Gists上运行,并添加了其他功能,例如搜索,标记和共享gist,同时还包括一个丰富的代码编辑器。 您所有的数据都存储在GitHub上,您可以随时通过GitHub Gists访问它们,并...

    Webstorm 提交代码到Github

    Webstrom 管理源代码,将代码提交到Git进行代码管理。

    七款出色的GitHub功能集成工具

    人气代码共享网站GitHub已经成功吸引到全球无数用户的目光,其代码库规模也...作为一家实时Web分析企业,Chartbeat正是通过GitHub进行代码库管理。“我曾经在2012为参与到Asana-GitHub集成的编写工[......] 阅读全文>>

    开源GitHub权威介绍GotGitHub.zip

    代码评注 4.5. 缺陷跟踪 4.6. 维基 5. 付费服务 5.1. GitHub收费方案 5.2. GitHub企业版 6. GitHub副产品 6.4.1. GitHub:Jobs 6.4.2. GitHub:Shop 6.4.3. GitHub短网址服务 6.4.4. GitHub Open ...

    IPMItool windows版本 V1.8.18+,2022年3月10日 Github最新源代码编译。

    IPMItool windows版本 V1.8.18+,2022年3月10日 Github最新源代码编译。 项目地址:https://github.com/ipmitool/ipmitool/releases/tag/IPMITOOL_1_8_18

    GitHub Desktop 3.3.12(Windows和macos版本的安装包)

    当用户在本地进行代码修改后,可以使用 GitHub Desktop 提供的提交功能将修改的代码推送到远程仓库中,使远程仓库与本地仓库保持同步。 其次,GitHub Desktop 还具有分支管理功能。用户可以在本地仓库中轻松地创建、...

    Github-Monitor:Github敏感信息泄漏监控器(Github信息泄漏监控系统)

    VIPKID GITHUB显示器 GITHUB MONITOR是vipkid...github令牌管理 支持docker一键部署 运行十分稳定 安装指南 首先将代码clone到本地: git clone https://github.com/VKSRC/Github-Monitor.git 1. docker部署 我们

    GitHubDesktop(GitHub官方可视化操作工具)

    GitHub官方可视化操作工具,拥有GitHub账号即可登录使用

Global site tag (gtag.js) - Google Analytics