接下来,我们将以故事的形式讲述Git的历史,讲述Git的长处。然后我们将教你如何在Github和代码云上托管我们的代码,并控制代码的版本。
虽然Linus创造了Linux,但是Linux的成长依赖于全世界热心的志愿者。全世界那么多人为Linux写代码,如何管理Linux的代码?
事实是,在2002年之前,来自世界各地的志愿者通过diff将源代码文件发送给Linus,然后Linus手工合并代码!
你可能会想,为什么Linus不把Linux代码放在版本控制系统里?不是有CVS、SVN这样的免费版本控制系统吗?因为Linus坚决反对CVS和SVN,这些集中式版本控制系统不仅速度慢,而且必须联网才能使用。有一些商业版的版本控制系统,比CVS和SVN好,但是是付费的,不符合Linux的开源精神。
然而,到2002年,Linux系统已经发展了十年,代码库使得Linus很难继续手动管理它。社区内的兄弟们也对这种方式表示强烈不满,于是Linus选择了商业版控制系统BitKeeper,而BitKeeper的拥有者BitMover出于人道主义精神,授权Linux社区免费使用这一版控制系统。
安定团结的大好局面在2005年被打破,因为Linux社区的黄牛聚集,不可避免地污染了梁山英雄的一些习惯。开发Samba的Andrew试图破解BitKeeper的协议(其实并不是只有他一个人这么做),BitMover发现了(监控工作不错!),于是BitMover生气了,想收回Linux社区的免费使用权。
Linus可以向BitMover公司道歉,并承诺以后会严格管教自己的兄弟。这是不可能的。实际情况是这样的:
Linus花了两周时间用C语言编写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源代码已经被Git管理了!牛是怎么定义的?你可以体验一下。
Git迅速成为最流行的分布式版本控制系统。尤其是2008年,GitHub网站上线,为开源项目提供免费Git存储。众多开源项目开始迁移到GitHub,包括jQuery、PHP、Ruby等。现在GitHub已经被微软收购了,完整的ASP.NET Core源代码和。NET Core都是GitHub上的开源。
历史就是这么偶然。如果BitMover公司当年没有威胁到Linux社区,我们现在可能就不会有免费的、超级好用的Git了。
适合分布式开发,强调个人,可以线下工作。分布式版本控制系统中没有“中央服务器”,每个人的电脑都是一个完整的版本库,所以工作的时候不需要联网,因为版本库在自己的电脑上。既然每台个人电脑都有一个完整的版本库,那么有多少人可以合作呢?例如,如果您在自己的计算机上更改文件A,而您的同事在他的计算机上更改文件A,那么您只能通过将对方的修改推送给对方来查看对方的修改。安全性高很多,因为每台个人电脑都有一个完整的版本库,所以别人的电脑坏了也没关系,从别人那里复制一个就可以了。如果集中版本控制系统的中央服务器出了问题,大家都无法工作。所以对公共服务器的压力和数据量不会太大。快速灵活。强大的分支管理能力,无论创建、切换、删除,Git都能在1秒内完成分支!不管你的版本库是1个文件还是10,000个文件,想想svn是不是很头疼。划痕区的概念。这个优势和劣势Git的优势让人头疼。如果你说得太多,你会觉得无聊。只有当你真正使用它时,你才能意识到它!没什么好说的,让我们从Git开始吧。
Windows系统的安装非常简单。下载软件后,可以一步一步安装。至于Linux和MacOS,可以点击这里查看官网的安装教程。
安装完成后,需要进行相关配置。在命令行上输入以下命令进行全局配置:
$ gitconfig-globaluser。名称' yilezhu' $ gitconfig-globaluser。Email [email protected]注意:因为Git是一个分布式版本控制系统,每台机器都必须报告自己的名字:你的名字和邮箱地址(在上面的双引号里面)。你可能会担心,如果有人故意冒充别人怎么办?别担心这个。首先,我们相信每个人都是善良无知的。其次,有办法查出是否有假的人。
请注意Git config命令的- global参数,这意味着您机器上的所有Git仓库都将使用该配置。当然,您也可以为仓库指定不同的用户名和电子邮件地址。
单击此处下载并安装TortoiseGit图形工具。安装后,可以用鼠标操作Git命令。如下图所示:
1.假设你已经有一个GitHub账号,如果没有,那就自己注册吧。点击此处登录GitHub。
2.命名自己,配置自己是谁(如果你安装在上面的Git中),已经按照下面的配置好了,这里就不用配置了。首先,如下图所示右键打开Git Bash,然后如下图所示进行配置:
3.生成ssh密钥在git bash上输入ssh-keygen -t rsa -C“您的邮箱”。它会等你输入三次,直接输入就可以了。下图是因为我已经生成了。问我是否要覆盖它。我输入y并选择再生它。
4.将生成的ssh密钥复制到剪贴板并执行clip ~/。ssh/id_rsa.pub(或者打开文件,并按照上图所示的路径复制):
5.打开github,打开设置,如下图所示
6.单击左侧的SSH和GPG密钥,然后单击右侧的新建SSH密钥
将ssh密钥粘贴到右侧的密钥中。标题可以随意命名。GitHub会在这个时候给你发邮件
7.ssh -T [emailprotected]的测试结果显示GitHub成功配置如下。
8.在GitHub上新建一个项目,项目名为Czar。Cms,这个仓库将作为我们后面CMS系统GitHub上的远程仓库。
首先进入右上角的创建界面。
然后输入如下所示的项目名称,并单击创建存储库来创建它。
在这里,我们可以选择用自述文件初始化项目。因此,生成的结构如下:
9.让我们在本地初始化一个仓库,然后将其与GitHub的远程仓库相关联。
10.我们在工作文件夹中打开Git Bash,然后输入下面的命令git init来初始化一个本地仓库。
11.然后输入git remote查看远程仓库。如果正常,应该有0个远程仓库。现在让我们在刚刚创建的GitHub上添加远程仓库。然后查看远程仓库列表,发现已经有一个了,名为github。
注意:要添加新的远程仓库,您可以指定一个简单的名称供将来参考,并运行git远程添加[shortname] [url]。我们上面对应的简称是github,只要容易记住,你可以随意指定。谢谢@包的提示!
Git远程添加github github远程仓库地址
12.然后输入git pull github master,master branch的代码就会从我们刚才配置的远程仓库中被拉出来。如下图所示:
13.获取后,查看我们的项目文件夹,如下图:最新代码已从GitHub获取:
2.进入git状态,查看当前仓库中哪些文件已经被修改,如下图所示,红色部分表示修改已经发生。
3.输入git add Sample02/将Sample02文件夹下所有修改过的文件放入‘临时存储区’,然后输入git status检查当前状态,变为绿色,表示Sample02文件夹下修改过的内容已经添加到临时存储区。
4.然后输入git commit -m' comment content '命令,将我们临时存储区的代码提交给我们的本地仓库
5.然后进入git状态进行检查,发现所有的修改已经成功提交。
6.输入以下命令git push github Sample02,将我们的本地代码提交给远程仓库的“Sample02分支”
请注意,它被提交到GitHub上的Sample02分支,但是我们在Github上没有这个分支,所以我们会自动为我们创建这个分支。
7.这里第三篇文章的案例代码上传到Github。你可以去查一下,顺便给一个Star,因为我会把后面的CMS代码放在这个仓库里,这只是一个不同的分支。
让我们切换回主分支并结束这一部分。输入git结账主数据
Git init:初始化本地仓库Git remote:查看关联的远程仓库连接git remote add github github远程仓库地址:创建远程仓库连接git pull github master:从名为github T -b的远程仓库拉取主分支内容git checkou Sample02:创建并切换到Sample02上的git分支:查看所有当前分支git add Sample02/:将sample 02文件夹下的所有修改文件添加到临时存储git commit -m' Note ':将临时存储的所有修改提交到本地仓库。并在本体提交中写下备注,方便查看日志gitlog-graph:查看修改后的日志git push github Sample02:将当前仓库中当前分支的内容推送到远程仓库github的Sample02分支。在当前分支中自动创建git merge-no-ff-m ' comment ' Sample02 :将sample 02的修改合并到当前分支中,并为该合并添加注释。今天给大家介绍的是实际项目中常用的命令,而不是不常用的命令,因为毕竟是实战,所以主要是实用。在下一篇文章中,我将介绍Dapper(播放数据库)的使用,为我们的CMS系列课程奠定基础。毕竟我们还要照顾一些新手朋友。