Git是一个分布式的版本控制系统,作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
> Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括 Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
>
如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
>
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这 样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将 代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
>
百度百科:http://baike.baidu.com/view/3366456.htm
今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全部完成之后,所以请紧跟站长的步伐,今天是第一天,我们来学习如何在git上建立自己的版本仓库,并将代码上传到仓库中。
### 教程【一】
一、注册一个免费git帐号,可以无限建立访问权限为公共的版本仓库,注册地址:https://github.com/signup/free
二、依次填写,用户名【昵称】、邮箱地址【用来登录】、密码,点击“creat an account”进行注册
三、点击右上方的”sign in”使用注册邮箱登录到git
四、点击右上方,你的用户名之后的图标,新建一个版本仓库
五、在“Repository name”一栏里填写版本仓库的名称,我们假设为”test”,Description栏是描述,可填可不填。
默认访问权限为公共,我们点击”Creating Repository”按钮,创建我们的第一个版本仓库。
接下来,我们需要在本地安装git客户端。
六、以windows为例,下载客户端:http://github-windows.s3.amazonaws.com/GitHubSetup.exe,安装完成后,会在桌面上出现两个图标,Git Shell和GitHub。
七、那两个图标分别是命令行工具和图形界面,我们先来学习使用shell。
八、双击打开Git Shell,【win7用户使用管理员权限打开】
九、输入git config --global user.name "d1php"
,这里的d1php是站长注册的用户名,你得改成你自己的
十、输入git config --global user.email "studyphp@yahoo.cn"
,这里的邮箱也是是站长注册的邮箱,你得改成你自己的
十一、上面两步在客户端配置你的git帐户,下面我们在本地建立自己的版本仓库,站长把版本仓库建立在D盘。输入cd d:
,切换到D盘目录。
十二、输入mkdir test
,建立一个test目录,注意本地仓库名要和git中建立的仓库名一样
十三、输入cd test
,进入test目录
十四、输入git init
,初始化版本仓库
十五、输入touch README
,建立一个README文件
十六、用文本编辑器打开README文件,随便输入一点文件,比如:this is a test!
十七、输入git add README
,将文件添加到上传队列
十八、输入git commit -m 'test commit'
,缓存提交,引号中的是对本次提交的描述,必须填写,不能为空
十九、输入git remote add origin https://github.com/_d1php_/test.git
,注意url格式,d1php是你注册时的昵称,test是你刚才建立的版本仓库
二十、输入git push origin master
,将README文件上传到版本库。这一步会一次让你填写你的git注册邮箱和密码,注意不要填错了
好了,到这一步,我们就完成了在线上和线下建立git版本库并上传文件的全部步骤。下节课我们来学习GitHub的使用,图形界面大家肯定更容易接受。
教程【二】
上一节课我们学习了git shell的初步使用,今天我们来学习github的图形界面。
一、双击桌面上的GitHub图标
二、在打开的界面中,点击Log In,图下图所示:
三、在界面中输入用户名和密码,如下图所示:
四、点击LOG IN,进入下图所示界面:
五、点击'continue',进入下图所示界面:
六、提示我们没有找到本地版本仓库,这是因为git客户端默认是在C盘的git目录中查找版本库,而我们在上节课中建立的版本仓库在D盘,所以才找不到,没关系我们自己来查找,点击SKIP,进入下图所示界面:
七、点击'tools',在下拉菜单中选择'options',进入下图所示界面:
八、定位到D盘目录,然后点击SCAN FOR REPOSITORIE,扫描本地仓库,如下图所示:
九、很快就找到了我们上节课建立的版本仓库,test,点击左下方的add,再点击update,进入下图所示界面:
十、进入D:/test目录,新建一个名为hello的txt文件,在其中输入hello world!,然后点击上图中的箭头打开版本库,进入下图所示界面:
十一、左边栏会列出最新有改动的文件,右边第一栏填写对本次提交的描述,我们填'hello world';第二栏是详细描述,可以不填。填完后点击'commit'提交,进入下图所示界面:
十二、在右边我们可以看见刚才新建的提交:hello world,点击publish,将我们的改动上传到线上的git仓库中。
十三、稍等片刻,即可完成上传,如下图所示:
上传成功后,我们可以在左边看见刚才完成的提交。然后我们访问线上的仓库,检查一下:https://github.com/d1php/test
是的,线上的test仓库又多了2个文件。
好了,到这里我们就已经使用GitHub图形界面完成了一次文件上传,下节课我们将回到gitshell的学习。我们将使用gitshell下载线上的版本仓库到本地,如果对本教程有疑惑可以联系站长哦。
教程【三】
今天我们来学习如何使用gitshell将线上的版本仓库下载到本地。我们为什么要把线上的仓库下载到本地,通常情况下是我们想要参与别人的项目。
github上面有一个项目:https://github.com/octocat/Spoon-Knife,点击访问它。
现在我们想要参与这个项目,需要进行以下步骤:
一、访问上面的链接,点击fork按钮,
二、现在spoon-knife项目已经添加到你的线上版本仓库中了,我们要下载它。打开gitshell,输入https://github.com/d1php/Spoon-Knife.git
,注意这里的d1php应该是你注册时的昵称,在此使用了站长的帐号。
三、前两节我们把版本仓库建立在了D盘根目录,因此这里默认是在D盘目录只想的shell,进入D盘,会发现多了一个spoon-knife目录,线上的源码已经下载下来了。
四、输入cd spoon-knife
五、输入git remote add upstream https://github.com/octocat/Spoon-Knife.git
,这里我们使用的是原项目的地址,确保我们可以随时跟踪到原项目
六、输入git fetch upstream
,获取原项目最新的与你本地版本库不同的修改,但是不修改你的本地文件
好了,如何将线上仓库下载到本地就学习到这里,下节课我们学习如何建立版本分支。
教程【四】
学习,贵在持之以恒!欢迎大家跟站长继续学习github的使用,今天我们将学习如何使用 gitshell建立版本分支。如果你想要在原项目的基础上尝试一些新的思路或者开发新功能、修改等等,你可以建立原项目的一个分支,这样当进行修改时原 来的代码是不会受到影响的。我们前几节课建立一个test版本库,今天我们来为它建立 一个分支。
一、打开gitshell,输入 cd test
,进入本地的test版本库
二、输入git branch testbranch
三、输入git checkout testbranch
,将testbranch分支设置为当前工作分支
四、输入git add ./
,将test目录的所有文件添加至上传队列
五、输入git commit -m 'newbranch'
,缓存提交
六、输入git remote add origin https://github.com/d1php/test.git
,配置上传目标仓库
七、输入git push -u origin testbranch
,将文件上传到分支
然后访问:https://github.com/d1php/test/branches,会发现多出了一个分支testbranch!
怎么样,今天的学习很轻松吧。明天我们将学习如何使用github图像界面将线上仓库中有改动的文件下载到本地,或者称之为“版本同步”。
教程【五】
今天我们学习如何使用github图形界面来让我们本地的版本仓库和线上的仓库保持一致,或者说如何把线上仓库中有改动的文件下载到本地。
一、首先,我们访问https://github.com/d1php/test。还记得我们在第一节课建立的hello.txt文件吗?如下图所示:
二、双击该文件,来到下图所示的界面:
三、点击edit按钮,并对文本进行一些修改,如下图所示:
四、编辑完之后,点击页面最下方的commit changes按钮:
五、打开github,如下图所示:
六、点击右边的箭头,打开本地仓库,如下图所示:
七、github会自动读出最新的修改,并且上端会出现一个蓝色sync【sync是同步的意思】按钮。如果你没有看见蓝色的图标,可以点击F5刷新界面。现在我们点击sync按钮,这样github会将线上有改动的文件下载到本地,如下图所示:
下载玩之后,蓝色的sync会变成灰色的in sync,这说明最新的文件已经下载到本地的仓库了,去检查一下吧!怎么样,没错吧。
感谢大家跟着站长进行了5天的学习,明天我们将继续学习github图形界面的使用,我们将学习如何使用github图形界面来建立一个版本库的分支。
教程【六】
学习,有时候就是一个漫长而枯燥的过程,但是当你走到终点时,回过头来再看看这段路,则会露出满不在乎的表情!今天我们学习如何使用gitgui来建立版本分支。
一、打开github图形界面,点击蓝色箭头打开我们之前建立的test仓库,如下图所示:
二、在打开的界面中,点击master按钮,如下图所示:
三、在弹出的窗口中,点击manage按钮,如下图所示:
四、进入分支界面,把鼠标移动到master分支上,并点击加号,如下图所示:
这会以master分支的文件为蓝本建立一个新的分支。
五、点击加号后,会弹出输入框,输入新分支的名称,并点击BRANCH按钮创建分支,如下图所示:
站长输入是testbranch2,因为之前用gitshell建立一个testbranch分支。
六、创建完之后,会在当前页面显示新分支,如下图所示:
点击publish按钮,将新分支发布到线上的git仓库中。发布完之后,publish按钮会变成unpublish,说明分支已经上传到线上的仓库中了。
七、访问https://github.com/d1php/test/branches,查看分支情况,如下图所示:
我们会发现,尽管显示有3个分支,但是在页面上只呈现了2个,新建立的没有出现,这是因为默认是读取master分支以及没有与master整合的 分支,而我们刚才创建的testbranch2分支是以master为蓝本,因此它们之间没有任何不同,所以才没有显示。我们点击branch下拉按钮, 可以看见我们刚才建立的testbranch2分支。
八、点击上图中的testbranch2按钮,进入下图所示界面:
现在,我们可以在线上的版本仓库中看见我们刚才建立的分支了。
九、现在我们回到第六步的github图形界面,把鼠标移动到新建分支testbranch2上面,如下图所示:
上图中第一个红圈包围的图标是用来删除分支的,它将同时删除本地和线上仓库的分支;第二个红圈仅仅删除线上仓库中的分支,本地分支会被保留。现在我们,点击第一个红圈包围的图标,将本地分支和线上分支同时删除。
十、访问https://github.com/d1php/test/branches,我们会发现刚才建立的testbranch2分支已经被删除了,gitgui中也不再显示该分支了。
ok,到此我们就学会了如何使用github图形界面创建、发布、删除分支,下节课我们将学习如何使用github图形界面对分支版本进行操作。
github
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 人听人爱,入耳即溶《天碟落地3《HIFI瑰宝》示范颠峰之作》[WAV+CUE/分轨][839.9MB]
- 莫扎特安魂曲舍尔琴,维也纳国家歌剧院,1958【FLAC】
- 罗西尼五部歌剧序曲班贝格佩雷亚1958年【FLAC】
- 【HIRES】李云迪-莫扎特:钢琴奏鸣曲计划-萨尔兹堡-2024-24-96FLAC分轨
- 珍娜JheenaLodwick-GettingToKnowYou(XRCD)[WAV+CUE]
- 珍纳JheenaLodwick-AllMyLoving全我所爱(XRCD)[WAV+CUE]
- JheenaLodwick-Feeling挚爱(XRCD)[WAV+CUE]
- 人听人爱,入耳即溶《天碟落地2《测机王HQ》日本母带发烧音质》[WAV+CUE/分轨][709.9MB]
- 人听人爱,入耳即溶《天碟落地1《示范碟皇》殿堂级演绎名作》[WAV+CUE/分轨][786.9MB]
- MICO刘为《观·自在行》CD[FLAC/分轨][1.3GB]
- 珍纳JheenaLodwick-SingingInTheRain(XRCD)[WAV+CUE]
- 珍纳JheenaLodwick-Feelings非常感觉2-HDCD[WAV+CUE]
- 珍纳精选JheenaLodwick-JheenaLodwickGreatest[香港版]2015[WAV+CUE]
- 谁杀死了HI-FI音乐-《涂鸦精选VOL.2》[WAV+CUE]
- Mav-Mav《美芙的祈祷》(2000)[WAV+CUE]