Git基础教程
文章平均质量分 71
本栏目讲解一些Git使用的简单教程,带你快速了解Git是什么以及教会你一些简单地命令操作。主要结合画图和代码指令进行讲解。
seu_nuaa_zc
这个作者很懒,什么都没留下…
展开
-
26—Git总结
终于到了期末总结的时刻了! 经过几天的学习,相信你对Git已经初步掌握。一开始,可能觉得Git上手比较困难,没关系,多操练几次,就会越用越顺手。 友情附赠国外网友制作的Git Cheat Sheet,建议打印出来备用:Git Cheat Sheet 现在告诉你Git的官方网站:https://git-scm.com/,英文自我感觉不错的童鞋...原创 2018-07-04 00:01:48 · 328 阅读 · 0 评论 -
25—自定义Git
在安装Git一节中,我们已经配置了user.name和user.email,实际上,Git还有很多可配置项。 比如,让Git显示颜色,会让命令输出看起来更醒目:$ git config --global color.ui true 这样,Git会适当地显示不同的颜色,比如git status命令: 文件名就会标上颜色。...原创 2018-07-04 00:01:41 · 305 阅读 · 0 评论 -
24—使用GitHub
我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。 在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此...原创 2018-07-04 00:01:33 · 341 阅读 · 0 评论 -
23—操作标签
如果标签打错了,也可以删除:$ git tag -d v0.1Deleted tag 'v0.1' (was 6c55941) 因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。 如果要推送某个标签到远程,使用命令git push origin <tagname>:$ git push origin v...原创 2018-07-04 00:01:24 · 244 阅读 · 0 评论 -
22—创建标签
在Git中打标签非常简单,首先,切换到需要打标签的分支上:$ git branch* dev master$ git checkout masterSwitched to branch 'master'Your branch is up to date with 'origin/master'. 然后,敲命令git tag <name>就可...原创 2018-07-04 00:01:17 · 308 阅读 · 0 评论 -
21—标签管理
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。 Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针,所以,创建和删除标签都是瞬间完成的。 Git有commit,为什么还要引入tag...原创 2018-07-04 00:01:03 · 278 阅读 · 0 评论 -
20—多人协作
软件开发中,总有无穷无尽的新的功能要不断添加进来。 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。 现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。 于是准备开...原创 2018-07-03 10:06:30 · 246 阅读 · 0 评论 -
19—Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。 当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:git statusOn bran...原创 2018-07-03 10:06:21 · 205 阅读 · 0 评论 -
18—分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。 下面我们实战一下--no-ff方式的git merge: 首先,仍然创建并切换dev分支:$ g...原创 2018-07-03 10:06:11 · 182 阅读 · 0 评论 -
17—解决冲突
但是合并分支往往也不是一帆风顺的。 准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1' 修改ReadMe.txt最后一行,改为:Creating a new branch is quick AND simple. ...原创 2018-07-03 10:06:03 · 270 阅读 · 0 评论 -
16—创建与合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEA...原创 2018-07-03 10:05:54 · 449 阅读 · 0 评论 -
15—分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,...原创 2018-07-03 10:05:43 · 235 阅读 · 0 评论 -
14—从远程库克隆
上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个READM...原创 2018-07-03 10:05:34 · 168 阅读 · 0 评论 -
13—添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。 首先,登陆GitHub,然后,在右上角找到“Create a New repository”按钮,创建一个新的仓库:在Repository name填入Git,其...原创 2018-07-03 10:05:23 · 145 阅读 · 0 评论 -
12—远程仓库
本节开始介绍Git的杀手级功能之一:远程仓库。 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩? ...原创 2018-07-03 10:05:13 · 190 阅读 · 0 评论 -
11—删除文件
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master d31ddf5] add test.txt 1 file changed, 0 insertions(+), 0 deletions(-) create mode ...原创 2018-07-03 10:05:00 · 227 阅读 · 0 评论 -
10—撤销修改
自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在ReadMe.txt中添加了一行:$ cat ReadMe.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called ...原创 2018-07-02 18:49:37 · 267 阅读 · 0 评论 -
9—管理修改
现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。 ...原创 2018-07-02 18:29:08 · 162 阅读 · 0 评论 -
8—工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的Git文件夹就是一个工作区:版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,其中最重要的就是称为...原创 2018-07-02 18:11:40 · 146 阅读 · 0 评论 -
7—版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改ReadMe.txt文件如下:Git is a distributed version control system.Git is free software distributed under the GPL. 然后尝试提交:$ git add ReadMe.txt$ git com...原创 2018-07-02 17:53:53 · 213 阅读 · 0 评论 -
6—时光穿梭机
我们已经成功地添加并提交了一个ReadMe.txt文件,现在,是时候继续工作了,于是,我们继续修改ReadMe.txt文件,改成如下内容:Git is a distributed version control system.Git is free software. 现在,运行git status命令看看结果:$ git statusOn branch mast...原创 2018-07-02 17:25:58 · 335 阅读 · 0 评论 -
5—创建版本库
1 、创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。创建一个版本库非常简单: 首先,选择一个合适的地方,创建一个空目录:$ mkdir Git$ cd Git$ pw...原创 2018-07-02 17:08:36 · 303 阅读 · 0 评论 -
4—安装Git
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git,第一步当然是安装Git了。本文在Windows下安装Git:在Windows安装Git 在Windows上使用Gi...原创 2018-07-02 16:29:11 · 180 阅读 · 0 评论 -
3—Git的出现
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,成为最大的服务器系统软件。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是,在2002年以前,世界各地的志愿者把源代码文件发给Linus,然后由Lin...原创 2018-07-02 16:05:09 · 168 阅读 · 0 评论 -
2—Git简介
Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。 那什么是版本控制系统? 如果你用Word写过毕业论文,那你一定有这样的经历: 想删除一句话或者一段文字,又担心以后用的上找不回来怎么办?于是,你把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的W...原创 2018-07-02 15:55:15 · 176 阅读 · 0 评论 -
1—Git基础教程
作者学习Git的过程中,走过很多弯路。网上的大多数Git教程要么是太简单,一笔带过,要么是难得令人发指,或者只是简单地介绍Git的某几个命令。总之,初学者很难找到一个由浅入深,学完后能立刻上手的Git教程。 首先,本系列教程是面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度; 其次,本教程实用性超强,边学边练,一点也不觉得枯燥。而...原创 2018-07-02 15:40:13 · 234 阅读 · 0 评论