Git是什么?有什么用?

Git

  • 是什么?
  • 什么是分布式?
  • 什么是版本控制
  • 什么是分支管理
  • 分支冲突
  • 参考文献

是什么?

Git是一个分布式版本控制工具

什么是分布式?

分布式可以说是相对于集中式而言。
集中式常指有一个中央的主机,工作都在中央主机上完成。如你要修改一个文件,你要先从主机上下载下来,修改完后传回服务器更新服务器的文件。
而分布式就是指去中心化,每个机器上都是一个主机。如同样的修改一个文件,每个主机上都存在了一个版本库,只需修改自己电脑上的文件,然后把最新版本的修改推送给其他人,就完成了更新。
分布式因为每个机器上都有完整的版本库,所以比起集中式来说数据丢失的可能性降低了很多,而且工作时对网络的需求也变小了。
因为多人协作时机器可能存在没联网或其他情况无法接收他人的推送,所以git为了方便推送,使用github来统一推送,个人把文件推送到github,然后其他人从github接受推送,这样就省略去了很多的过程。(也叫远程仓库)

什么是版本控制

你在编写一个文档时,
如第一次写了1,2,3,4,5
然后你觉得写错了,改成了1,2,3,4,6
过一段时间后你又觉得有点不对劲,又改成了2,1,3,4,4
经过n次修改后最后成了4,2,5,3,7
这时候你突然发现一开始写的1,2,3,4,5才是对的,这时候因为修改次数过多,你已经无法使用撤销操作返回了,就又要重新写了。版本控制就是在这时候使用的,在你每次写完的时候,可以使用版本控制工具记录下版本。当你后面你想撤销的时候,可以使用版本号快捷的返回原版本(也叫版本回退)

什么是分支管理

当你写完一个版本后入1,2,3,4,5
这时候你觉得可能的发展会有两个1,2,3,4,5,6或者1,2,3,4
你暂时不确定你想要哪个,想两个都要实现下去,这时候就可以使用分支管理,创建一个新的分支2,
主支上是1,2,3,4,5,6。分支上是1,2,3,4
然后实现到最后发现原来分支2才是对的,主支上是错的,这时候就可以合并分支2,相当于舍弃了主支,分支2变成了主支。反之如果分支2是错的,则要舍弃分支2。

分支冲突

当两个分支对同一个文件进行修改时,提交合并时就会造成冲突
简单点说,假设从主支上分出了两个分支如a,b
a的代码此时和b的代码一致,修改a中的代码,然后提交到主支,没问题。
然后修改b的代码,再提交到主支中,这时候就会出现问题,a的代码和b的代码系统不知道选择哪个作为新的代码。因为a,b分支是从之前的主支分出来的,属于同一级别上的,所以无法说b后提交就会覆盖a。
这时候只能手动修改ab冲突的部分,然后重新提交冲突的文件

个人理解学习用,如果有错误的地方或者想交流的,欢迎2018-12-23

参考文献

Git教程

你可能感兴趣的:(git)