用GitHub Issue取代多说,何道君是不是真的厉害很厉害

酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
今年就大三了,平时多多少少会跟几个同好一起做些小项目。其实从实用角度讲,进行版本控制并没有很多显而易见的好处,但是提早练习一下配置管理,对今后的工作总是有些益处的,至少减少了以后的学习压力。
什么是Git和GitHub
Git &The stupid content tracker, 傻瓜内容跟踪器,是一个由Linux内核开发者Linus为了更好地管理Linux内核开发而创立的分布式版本控制软件。
GitHub & 学生做版本控制最讨厌的就是找服务器,配置太麻烦了。GitHub这个网站为每个用户提供服务器托管其Git代码库,免费空间为300M。
为什么不选CVS或SVN
Git提交/克隆/pull/push的速度更快
Git的绝大多数操作都可以在本地完成,不需要频繁连接服务器。教育网的痛苦你们不懂哇。
分布式,Linus,开源,每个关键词都能High到我&
注册GitHub账号
GitHub网址在
点击上方导航条的即可进入注册界面, 选择注册免费账户
这里只讲在Windows下的安装、配置,Linux或者Mac下的操作大同小异。话说用Linux的这部分 应该不用看吧。
最新版的Windows版Git的下载地址在。
使用默认配置安装Git。这个不用多说,一路Next就可以,如果对各种选项不熟悉,建议使用默认配置,没问题的。
GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令:
之后会让你选择是否对存放SSH Key的文件夹进行加密,一般都不需要的。一路回车,就OK了。
在C:UsersAdministrator.ssh文件夹下找到id_rsa.pub文件,用记事本打开,复制其中的全部内容。这个文件默认保存在你当前用户的文件夹下的,大家那也该是大同小异的。
登陆你的GitHub账户,依次点击Account Settings & SSH Public Keys & Add another public key,把id_rsa.pub中的内容拷贝进去 。
至此,基本的设置已经完成了。
测试你的Git
经过上述配置,你的Gti应该可以通过SSH连接GitHub服务器了,让我们来测试下,输入如下命令:
会给你这样的提示:
输入yes,会显示:
到这里,说明你的SSH运转良好
GitHub的具体使用方法,会在下一篇《使用GitHub和Git进行版本控制(二)》中讲到,敬请期待。
& 相关主题:
本文来源:推荐这篇日记的豆列
&&&&&&&&&&&&玩转GitHub
1、GitHub是什么?
GitHub这个名词既可以是那个流行的代码分享和协作网站 ,也可以是指Git客户端工具(与其他的Git客户端工具如GitEye类似,只不过Git仓库托管在GitHub服务器上)。下图即GitHub客户端截图,我已经在GitHub上建立了两个Git仓库(Git仓库地址类似/jxqlovejava/MRF.git,以.git结尾),下文所有图片都可以点击看大图(虽然是在Mac系统上操作,使用Windows系统命令行操作也是类似的,之所以采用截图方式是希望大家自己手动敲一遍命令而不是直接拷贝):
为什么使用GitHub?个人认为有几大原因:
Git是一个分布式版本控制系统,相对于传统的集中式版本控制系统如SVN拥有不可替代的优势,详细参考
GitHub作为一个全球性质的代码分享和协作编辑网站,拥有强大的社区,并提供了功能强大简洁的GitHub客户端(Windows/Linux/Mac三种版本)
几乎所有的开源项目都能在GitHub上找到
GitHub提供了方便的“代码社交”支持,如协作编辑、Fork、Follow等
2、安装并设置Git和GitHub
首先当然是下载安装Git,下载地址请移步:
然后下载 ,输入用户名密码(你的GitHub用户名和密码,如果没有GitHub账号请先注册一个)后,出现一个设置窗口,点击Advanced选项卡,在Advanced选项卡面板下部有一个Install Git and Github Command(记得大概是这个),也可以点击这个按钮然后自动安装Git和GitHub命令行工具,我安装在了/usr/local/bin目录下:
然后我们可以给git和github设置别名或者export设置路径,这样之后就可以在任意目录下直接执行git和github命令了:
$ alias git='/usr/local/bin/git'
$ alias github='/usr/local/bin/github'
Git的常用命令如下图:
接下来需要设置默认的git用户名和git邮箱(github注册邮箱),这样设置之后的好处是之后commit本地文件到远程Git服务器时不再需要每次都输入用户名:
更进一步,如果连密码都不想每次都输入,该怎么做?可以用credential-osxkeychain这个工具(应该是Mac上才有的,如果非Mac系统请忽略这一小部分内容):
# 测试是否已安装credential-osxkeychain
$ git credential-osxkeychain
# 如果已安装,上面会输出Usage: git credential-osxkeychain &get|store|erase&
# 如果未安装,则先用CURL下载git-credential-osxkeychain
$ curl -s -O \
https://github-media-downloads./osx/git-credential-osxkeychain
# 设置下载的git-credentail-osxkeychain文件权限
$ chmod u+x git-credential-osxkeychain
# 将git-credential-osxkeychain移动到git命令行工具所在目录,我的是/usr/local/bin
$ sudo mv git-credential-osxkeychain /usr/local/bin
$ cd /usr/local/bin | ls
# 设置git的credential helper为git-credentail-osxkeychain
$ git config --global credential.helper osxkeychain
经过上面的设置之后,下次只要第一次输入用户名密码后,用户名密码就会被保存在keychain中,后面commit时就再也不需要输用户名密码了。
3、创建并设置Git仓库
在GitHub首页的右上角有一个加号符号,点击它就可以看到下面:
点击“New repository”就可以进入创建Git仓库(这个是托管在GitHub服务器上的远程Git库)页面了:
填好必要的信息之后,点“Create repository”按钮就创建好了一个Git仓库,当然也可以通过GitHub客户端方便地创建Git仓库,不再赘述。创建好的Git仓库路径类似这种:/jxqlovejava/MyFramework.git (记住这个,下面会用到)
MRF.git就是Git仓库,它下面可以包含我们的项目文件夹或者其他文件(如说明文件、.gitigonore文件):
|--- README
下面我们先在本地创建一个项目,并为它绑定一个本地Git仓库,最后git push命令将本地Git仓库提交到远程Git服务器上,第一步创建本地Git库:
然后通过touch和vim命令创建并编辑一个README文件,编辑后按Esc,然后输入w!保存,再输入:q返回
继续通过git add将README设置为staged状态(等待提交),通过git commit提交修改,使得README状态由staged状态变为commited:
最后我们需要将本地git仓库提交到GitHub远程Git服务器上,首先添加remote仓库,并设置它的别名为origin(remote仓库默认名称),然后我们将本地master branch提交到远程Git库:
上面通过git remote add添加了一个远程Git库并为它绑定了一个别名origin,我们可以通过git remote remove origin删除这个绑定关系。master是本地git库的主干分支,类似SVN的trunk。可以通过git status或者git branch查看当前在哪个分支:
当然有时候我们需要新建一个主干分支以外的分支,比如下面创建一个名为myBranch的分支,然后通过git checkout切换到myBranch分支(创建和切换可以合为一个命令git checkout -b myBranch):
在此之后我又切回master主干分支,并且通过git merge将myBranch分支合并到master主干分支,最后通过git -d删除myBranch分支:
4、代码社交化
首先当然是GitHub上最常见的Watch、Fork和Star,前者会把其他人的GitHub托管项目Fork一份成为自己的GitHub库,注意Fork的项目不会与原始项目同步,这意味着今后原始项目再更新,Fork的项目不会随之更新。或者如果对某个GitHub感兴趣,可以通过Watch或Star进行关注,之后在GitHub首页就能看到项目动态:
Fork了代码之后,可以通过git clone把代码拷贝到本地:
然后本地即有了一个名为MRF的目录,其下包含一个README文件,如下:
上面说过Fork的项目不会随着原始项目的更新而更新,那么某些时候有必要手动Pull更新,然后git merge合并到本地git库(远程git库增加了一个test.txt文件):
upstream只是一个命名约定,即别人的远程Git库一般约定为这个别名。
以上基本涵盖了Git和GitHub的一般使用,但还没有涉及如何为其他人创建的Git项目提交代码,但对于自己创建一个GitHub项目并提交代码已经足够了。
如果使用eclipse开发项目,还有EGit和GitHub for Eclipse插件可以提供Git和GitHub功能,篇幅有限,不再多说了。
注:本文参考了GitHub首页的引导教程,更详细的Git使用请参考
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.061 (s). 12 q(s)内容字号:
段落设置:
字体设置:
精准搜索请尝试:
第三方网站评论插件多说宣布关闭:6月1日前可导出数据
来源:作者:仲平责编:仲平
3月22日消息 作为一款经常出现在第三方网站的评论系统插件,多说评论系统由于登录简单(第三方账号直接授权)以及简单可控受到网友和个人站长的欢迎。不过多说在昨天晚上宣布,旗下评论系统将在今年6月1日关闭,站长可以在6月1日之前可以通过后台的数据导出功能导出自己站点的评论数据。多说官方表示关闭的原因是由于公司业务调整。从多说发表的评论功能更新日志来看,最后一次功能更新来自于去年5月10日,在此后八个月期间多说没有更新新的功能,从个人站长的反馈来看应该是多说缺少稳定的变现方式,最终只能关闭。对于关闭之后的替代方案,有网友建议让多说在Github开源,这项建议也受到了不少网友的支持。
软媒旗下软件:
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.56被浏览13062分享邀请回答commit message title, #1
这个提交会作为一个 comment ,出现在编号为1的 issue 记录中。如果添加:close #ncloses #nclosed #nfix #nfixes #nfixed #nresolve #nresolves #nresolved #n比如commit message title, fix #n
则可以自动关闭第 n 个 issue 。issue 可以有额外的属性:Labels,标签。包括 enhancement、bug、invalid 等,表示 issue 的类型,解决的方式。除了自带的以外,也可以去自定义。Milestone,里程碑。几经修改后,它现在已经与git tag和Github release区分开来,仅仅作为issue的一个集合。通常用来表示项目的一个阶段,比如demo、release等,保护达成这些阶段需要解决的问题。有时候,也会与版本计划重合,比如v1.0、v2.0等。issue不能设置截止时间,但是milestone可以。Assignee,责任人。指定这个 issue 由谁负责来解决。充分利用这些功能,让每一个 commit 的意义更加明确,可以起到了良好的过程管理作用,使得这个 Git 库的项目进度更加显然。而且,这也是项目后期,写文档的绝佳素材。对团队而言,这就是一个协作系统。现在,很多大公司的软件研发团队协作,都是通过 JIRA 来实现的。目前也流行很多非代码的团队协作,比如 teambition、、Worktile、trello 等。其实,GitHub 的 issue ,就是一个轻量级协作系统。它的 comment 支持 GitHub Flavored Markdown,可以进行内容丰富的交流。Git 本身就是分布式的代码版本控制软件,是为了程序员的协作而设计的。而 issue 的 Assignee 功能,就是这个在线协作系统的核心,足以让一群线上的开发者,一起完成一个软件项目。最后,作为一个路人,你可以通过 issue 给别人的项目提 bug 。参考:,其它Github帮助,可以在此搜索:315 条评论分享收藏感谢收起2添加评论分享收藏感谢收起查看更多回答}

我要回帖

更多关于 霸王龙是不是最厉害的 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信