Git简介
-
Git是什么
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管 理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
-
Git的特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
下图是经典的git开发过程。
-
Git的功能特性:
从一般开发者的角度来看,git有以下功能:1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch(下拉)下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。 -
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。 -
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
用Git的原因
-
版本控制
没有 git 的时候…假如你写了一篇文章,要删除某一个段落,为了防止以后需要找回这个段落,你需要为这个文件备份。
如果你第一次删除了段落1,第二次修改了段落2,第三次添加了段落4,则需要为每一个版本都建立一个备份。(还有一个办法是注释掉修改的代码,在下面写添加的代码,但是时间久了就弄不清楚了)你的文件可能看上去是这个样子:版本多了,你想恢复修改前的段落2,却不记得是那个备份,所以你需要一个一个文件去翻阅查找,非常麻烦。
这时你可能会写一个说明文档,文档中记录了:副本(1)——删除段落1;副本(2)——修改段落2;副本(3)添加段落3… 有了这些摘要你能很快定位到需要的文件。可是修改了第112行,或者是修改了114、118和119行呢?你不可能有耐心记录下每个版本修改了哪几行,所以这些修改很难定位,找起来特别费神。
版本管理可以解决以上述所有麻烦(这些麻烦是我在未接触版本管理时写代码真实遇到的)。每次有新的修改,添加版本说明并提交。从 git log 信息中你可以看到所有版本和版本摘要,看起来就像下面这样(这就不用手动备份文件和写摘要文档了):
版本 用户 说明 日期 1 张三 删除段落1 2018.12.26 2 李四 添加段落4 2018.12.28 对于任意两个版本,用 git diff 命令,可以比较两个文件的不同,这样就解决了修改定位的问题。完全自动。
-
分支管理
git 是一款分布式版本管理工具,代码可以由自己本地服务器来管理。因为每个系统本地都有一个本地代码仓库(相当于远程仓库在本地的备份),本地系统可以先把代码提交到本地代码仓库,然后再由本地代码仓库提交到共享版本库(在这里,共享版本库就相当于集中式管理系统的远程代码仓库)这样在本地系统和共享版本库之间添加了一层本地代码库,开发人员直接和本地代码仓库打交道,减轻了对共享版本库的压力,并且也降低了开发人员因为误操作而导致对远程代码仓库的污染。git分支的灵活会让开发者工作更快捷方便。svn同样拥有分支,为什么git的分支更好用呢?分支(Branch)在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开启新的分支,那将会影响“全世界”!每个人都会拥有和你一样的分支。Git,每个工作成员可以任意在自己的本地版本库开启无限个分支。举例:当我想做一个功能, 我可以开一个分支,做我喜欢的事。完全不需担心妨碍其他工作成员。只要我不合并及提交到主要版本库,没有一个工作成员会被影响。等到我不需要这个分支时, 我只要把它从我的本地版本库删除即可。无痛无痒。
-
代码同步
它可以让我们更轻松的同步其他人的代码,远程代码。
同步步骤,我觉得这篇比较好。
git教程
详细的教程,我觉得廖雪峰老师写的教程非常详细。
安装Git(这里只写windows,其他教程有很多安装方法)
windows安装Git
首先我们去git官网直接下载,我们这里点击Windows,然后点击如下图,会弹出下载确认的弹窗(这里是火狐浏览器),保存安装,选择默认选项安装就可以
安装后在桌面点击右键列表里面出现Git Bash Here
点击出现命令窗口。此时则说明安装成功了。
-
安装成功后进行下一步设置
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git
提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:git config --global user.name "Your Name" git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
如果用了 --global选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
-
运行git前的配置
这里以后的内容都可以到git中文网细看了。
里面的内容比较全面
Git中文网
内容详尽,建议学习。