git小结


1、前言

Linus在1991年创建了开源的Linux,世界各地的开发者将自己的代码发给Linus,然后由他合并到linux当中。但是随着发展,工作量的增加,合并代码越来越麻烦。于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。可以有人试图破解这个版本控制软件,他们决定收回软件的使用权,Linus可以向BitMover公司道个歉。然后,花了两周时间写了git,随后linux的源码就通过git进行管理。Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub(全球最大的同性社交网站)网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

2、常用版本控制工具对比

svn采用的是中央式存储,所有的代码都放在一个统一的中央仓库进行管理。做开发的小伙伴大都会遇到一个问题,公司断网了,我们的svn就不能用了,就是因为我svn的代码都在中央仓库进行存贮,离开了网络团队开发就无法进行。

svn的检出仓库的速度要比git慢很多。我们每次用svn提交代码,svn的服务器就会把所有的代码打包一次,放在仓库当中。有很多小伙伴会发现公司的svn服务器占用很大的空间,甚至一个项目达到几十G。

git采用的是分布式存储,这样他就足够灵活。我们即使在没有网络的情况下也可以继续我们的操作,等到有网络的时候再把我们的修改提交push到中央仓库里面,或者把小伙伴的代码pull到本地进行合并,同时我们也可以把我们本地新建的分支推送到中央服务器。

3、git的几个核心概念

本地:本地就是你的地方,如果你在一个目录下面进行初始化仓库(git init  mygit)就会有一个.git的文件(在linux或者Unix下面以.开头的文件是隐藏文件,你无法看到,可以用 ll -a 命令查看),这个拥有.git文件的目录就是你的本地

远端:远端直白一点就是你的git服务器,就是大家往里面最终push代码的地方

工作区:直白一点就是你工作写代码的地方。当你初始化一个项目或者从远端clone一个项目以后,git默认会checkout一个master分支作为默认的分支到工作区。当你切换分支的时候,git会把新的分支的代码checkout一份到工作区,同时把原来的分支提交到仓储区。例如你有两个分支,一个master主干,一个v1分支,你当前的工作区处于master主干,你要切换到v1分支,你执行git  checkout v1,git就会把master的代码放入仓储区,然后把v1的代码检出到工作区

仓储区:就是你存放代码的地方。你每次的提交都会提交到仓储区,你的分支也在仓储区放着。仓储区和远端的git服务器有一定的上下游关系。团队合作当中,你要想把你的代码最终分享给你的小伙伴,你就需要把你的仓储区的代码push到远端(有的小伙伴说,我可以丢文件给他,看我鄙视的眼神),这样小伙伴们就可以pull下来的你的代码进行合并了。

分支:分支就是在我们已有的分支上或者已有的某次提交拉出来的枝杈,他保留了之前所有的提交和修改。可以很方便的让我们开发新功能,修复bug,同时又不影响他人的继续开发。具体可以参考我后面写的git工作流(看心情,看公司忙不忙)

提交:我们每次修改之后的commit叫做提交,很多用svn转过来的小伙伴在这里都会很迷糊。svn的提交就是把你的代码提交到了远程的svn服务器(网络不好还是失败,捂脸),而git的提交只是提交了本地的仓储区,只有执行了push才会把代码真正提交到远程服务器,因为svn是中央式,git是分布式的。

暂存区:如果我们想把一个文件或者目录加入版本控制,可以执行 git add . 或者 git add 文件名称 ,这样会把我们新加入的文件或者目录放入暂存区,用git checkout 文件名 可把放入暂存区的文件回滚到修改前的版本

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj阅读 2,979评论 1 11
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 6,023评论 1 17
  • Twitter 的问题还没有解决。但12,13,14,15和Twitter无关。先把后面补全。 本节讲的主要问题是...
    默默熊阅读 361评论 0 0
  • 开机: http://ad.doubleclick.net/ddm/trackimp/N6708.17184700...
    skygram阅读 1,437评论 0 1
  • 文/凉树姑娘 当一个人看着远方,有的时候不是在寻找或期待什么,仅仅只是觉得快乐! 2017年10月4日 星期三 ...
    凉树姑娘阅读 937评论 7 11

友情链接更多精彩内容