git快速学习笔记

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.目标

  • 了解Git基本概念
  • 能够概述git工作流程
  • 能够使用Git常用命令
  • 熟悉Git代码托管服务
  • 能够使用idea操作git

2.概述

2.1开发中的实际场景

场景一备份

        小明负责的模块就要完成了就在即将Release之前的一瞬间电脑突然蓝屏硬盘光荣牺牲几个月来的努力付之东流

场景二代码还原

        这个项目中需要一个很复杂的功能老王摸索了一个星期终于有眉目了可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊

场景三协同开发

        小刚和小强先后从文件服务器上下载了同一个文件Analysis.java。小刚在Analysis.java文件中的第30行声明了一个方法叫count()先保存到了文件服务器上小强在Analysis.java文件中的第50行声明了一个方法叫sum()也随后保存到了文件服务器上于是count()方法就只存在于小刚的记忆中了

场景四追溯问题代码的编写人和编写时间

        老王是另一位项目经理每次因为项目进度挨骂之后他都不知道该扣哪个程序员的工资就拿这次来说吧有个Bug调试了30多个

2.2版本控制器的方式

 a、集中式版本控制工具

        集中式版本控制工具版本库是集中存放在中央服务器的team里每个人work时从中央服务器下载代码是必须联网才能工作局域网或互联网。个人修改后然后提交到中央版本库。举例SVN和CVS

b、分布式版本控制工具

        分布式版本控制系统没有“中央服务器”每个人的电脑上都是一个完整的版本库这样工作的时候无需要联网了因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方就能互相看到对方的修改了。

        举例Git

2.3 SVN 

2.4 Git 

        Git是分布式的,Git不需要有中心服务器我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器仅仅是为了方便交换大家的修改但是这个服务器的地位和我们每个人的PC是一样的。我们可以把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作只不过“交换”修改不方便而已。

        git是一个开源的分布式版本控制系统可以有效、高速地处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。同生活中的许多伟大事物一样Git诞生于一个极富纷争大举创新的年代。Linux内核开源项目有着为数众多的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上1991-2002年间。到2002年整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。

        到了2005年开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束他们收回了Linux内核社区免费使用BitKeeper的权力。这就迫使Linux开源社区特别是Linux的缔造者LinusTorvalds基于使用BitKeeper时的经验教训开发出自己的版本系统。他们对新的系统制订了若干目标

        速度

        简单的设计对

        非线性开发模式的强力支持允许成千上万个并行开发的分支

        完全分布式有能力高效管理类似 Linux 内核一样的超大规模项目速度和数据量

 

2.5.Git工作流程图

命令如下

        1.clone克隆:从远程仓库中克隆代码到本地仓库

        2. checkout检出:从本地仓库中检出一个仓库分支然后进行修订

        3. add添加:在提交前先将代码提交到暂存区

        4. commit提交:提交到本地仓库。本地仓库中保存修改的各个历史版本

        5. fetch (抓取)从远程库抓取到本地仓库不进行任何的合并动作一般操作比较少。

        6. pull (拉取)从远程库拉到本地库自动进行合并(merge)然后放到到工作区相当于fetch+merge

        7. push推送:修改完成后需要和团队成员共享代码时将代码推送到远程仓库

3.Git安装与常用命令 

本教程里的git命令例子都是在Git Bash中演示的会用到一些基本的linux命令在此为大家提前列举

  • ls/ll查看当前目录
  • cat查看文件内容
  • touch创建文件
  • vi vi编辑器使用vi编辑器是为了方便展示效果学员可以记事本、editPlus、notPad++等其它编辑器

未完待续

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6