Git--分布式版本控制

目录

Git简介

什么是版本控制?

集中式版本控制

分布式版本控制

Git概念

Git优点

Git工作流程

工作区

暂存区

版本库

远程仓库

局域网

互联网

总的流程

在本地安装Git

安装git

Git常用的一些命令

 Idea集成Git并添加项目到git仓库

1.idea集成git

 2.初始化本地Git仓库项目

3.添加到缓存区

 4.提交到本地仓库

 5.Git本地库操作

Gitee

Gitee简介

使用

Idea集成Gitee并提交代码到第三方仓库

1.下载gitee插件

 2.添加Gitee账号​编辑

 3.推送本地仓库代码到远程仓库​编辑

 4.从远程仓库下载/克隆​编辑

​编辑5.更新远程仓库到本地

 6.仓库的基本管理

7.冲突解决


【前言】:本篇主要介绍Git,git工作流程,以及集成等。如有错误,还请多多斧正。

Git简介

首先,在将git之前有必要说一下这个版本控制。

什么是版本控制?

版本控制是对软件开发过程中的代码程序,配置文件等等变更的管理,这也是软件配置管理的核心思想之一。

通俗一点来说,就是一个代码仓库。

主要解决两个问题,一是记录一个文件多次修改的历史记录,生成多个不同的版本号;

二是在团队开发过程中可以多人共享代码。

版本控制又分为集中式版本控制和分布式版本控制;

集中式版本控制

所有开发者共同使用一个服务器仓库,这个服务器仓库记录所有文件的历史版本

Git--分布式版本控制_第1张图片

优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么,管理员可以集中管理,比起在本地数据库管理更为轻松。

缺点:如果因为服务器的问题而使版本记录丢失,其他开发者本地是没有历史版本的,如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

分布式版本控制

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库),这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一 次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
简单点来说,每个开发者本地都有一个本地仓库,用来保存文件的历史版本。服务器上只保留推送来的最新版本。

Git--分布式版本控制_第2张图片

优点:没有网络时,可以在本地进行开发,等到有网的时候再更新到远端仓库;

          即使服务器出现问题导致最新版本丢失,每个开发者本地也保存了历史版本。更新到服务器            仓库即可恢复。

Git概念

Git 是一个 免费  的  开源 分布式版本控制系统
旨在快速高效地处理从小型到大型项目的所有内容

Git优点

Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如 Subversion,CVS 之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和 多个工作流等功能。

一句话:容易学习内存小效率高

Git工作流程

Git--分布式版本控制_第3张图片

在介绍git工作流程之前,首先来认识几个名词概念,磨刀不误砍柴工。

工作区

写代码的区域,就是你在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具中完成).

暂存区

可以理解为缓存区,英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.

版本库

也叫本地仓库,工作区有一个隐藏目录 .git,是 Git 的版本库,提交暂存区代码到本地仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史记录,和其他版本做比较.

远程仓库

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

局域网

GitLabe

互联网

GitHub(国外的网站)

https://github.com/

Gitee 码云  (国内网站)

https://gitee.com/

总的流程

Git--分布式版本控制_第4张图片

 下面来解释一下各个"圆柱"与"箭头"的含义。

workspace:工作区

staging area:暂存区/缓存区

localrepository:本地仓库

remote respository:远程仓库/服务器仓库

add:将工作区代码添加到暂存区

commit:暂存区代码提交到本地版本库(这一步在本地仓库生成历史版本)

push:本地版本库代码推送到远程仓库

pull:从远程仓库拉取代码到本地

在本地安装Git

安装git

Git--分布式版本控制_第5张图片Git--分布式版本控制_第6张图片Git--分布式版本控制_第7张图片Git--分布式版本控制_第8张图片Git--分布式版本控制_第9张图片Git--分布式版本控制_第10张图片Git--分布式版本控制_第11张图片Git--分布式版本控制_第12张图片Git--分布式版本控制_第13张图片Git--分布式版本控制_第14张图片Git--分布式版本控制_第15张图片Git--分布式版本控制_第16张图片Git--分布式版本控制_第17张图片Git--分布式版本控制_第18张图片

Git常用的一些命令

这里的a.txt 只是一个文件名,并不是固定命令代码

git add a.txt  添加到缓存区

git commit a.txt  提交到本地仓库

git reset a.txt  从缓存区撤回

git clone 地址  从所使用的地址上克隆/复制项目

 安装完成后先来简单演示一下

1.在任意外置创建一个文件夹,在这个文件夹里创建热恩以一个文件

  我这里在桌面创建一个git文件夹里面放了一个hello.txt这样一个文件

2.打开Git Bash 命令窗口(右键空白处打开即可)

打开之后就会出现这样一个窗口

Git--分布式版本控制_第19张图片

初始化一个git仓库

代码:第一个git是GitBush固定命令 第二个则是初始化仓库文件名

git init git

Git--分布式版本控制_第20张图片

 添加一个文件到缓存区

首先进入到这个文件夹中操作

 代码:进入到这个文件夹

cd git

添加

git add hello.txt

Git--分布式版本控制_第21张图片

 查看缓存区

代码:

git ls-files

Git--分布式版本控制_第22张图片

撤销缓存区的文件

代码: 撤销所有文件

git reset .

撤销指定文件

代码:

git reset hello.txt

Git--分布式版本控制_第23张图片

 这里我只添加了一个文件,撤销之后就没有了,所以不显示

注意:这里要提交到本地仓库时要设置一个邮箱,与名字,邮箱最好选择自己经常使用的,这在后面还会用到,需要验证。

提交到本地仓库

git config --global user.email "自己的邮箱"
git config --global user.name "Your Name"

代码:

git commit -m 注释

Git--分布式版本控制_第24张图片

 必须写注释,不然无法运行

 查看仓库状态

代码:

git status

Git--分布式版本控制_第25张图片

 就可以看到提交状态了

 Idea集成Git并添加项目到git仓库

1.idea集成git

创建一个maven项目

Git--分布式版本控制_第26张图片

 这里可选可不选,本次集成暂时用不到a77855f9c58346d8abe063a27400c40a.png

在file  setting中

Git--分布式版本控制_第27张图片

 2.初始化本地Git仓库项目

Git--分布式版本控制_第28张图片

Git--分布式版本控制_第29张图片

3.添加到缓存区

 下载一个.ignore插件帮助我们管理过滤文件

Git--分布式版本控制_第30张图片

 生成.gitignore文件

Git--分布式版本控制_第31张图片

 Git--分布式版本控制_第32张图片

 添加文件到缓存区Git--分布式版本控制_第33张图片

 4.提交到本地仓库

Git--分布式版本控制_第34张图片

 Git--分布式版本控制_第35张图片

 5.Git本地库操作

先来查看一下历史版本

Git--分布式版本控制_第36张图片

 比较历史版本Git--分布式版本控制_第37张图片

 还可以选择历史版本来覆盖现在的版本。

Gitee

Gitee简介

码云  开源中国 出品  git代码托管平台

https://gitee.com/

使用

注册,不用我多说了,作为21世纪新青年,不用我说,大家都知道。

登录后在个人中心完善信息,补全电话或邮箱。

Git--分布式版本控制_第38张图片

 设置公钥,可以点击查看怎样生成公钥并设置,相信Gitee使用说明比我更容易使大家理解。

Idea集成Gitee并提交代码到第三方仓库

1.下载gitee插件

搜索下载安装即可

Git--分布式版本控制_第39张图片

 2.添加Gitee账号Git--分布式版本控制_第40张图片

 Git--分布式版本控制_第41张图片

 这样就算成功了Git--分布式版本控制_第42张图片

 3.推送本地仓库代码到远程仓库Git--分布式版本控制_第43张图片

Git--分布式版本控制_第44张图片

Git--分布式版本控制_第45张图片

Git--分布式版本控制_第46张图片Git--分布式版本控制_第47张图片

Git--分布式版本控制_第48张图片

 4.从远程仓库下载/克隆Git--分布式版本控制_第49张图片

 这里是我的ssh代码,当让要克隆复制,就要知道取药复制的链接Git--分布式版本控制_第50张图片

Git--分布式版本控制_第51张图片

Git--分布式版本控制_第52张图片5.更新远程仓库到本地

这里我直接从远程仓库修改模拟管理员从本地推到远程仓库的新版本

更新前:

Git--分布式版本控制_第53张图片

更新

Git--分布式版本控制_第54张图片

 更新后:Git--分布式版本控制_第55张图片

 6.仓库的基本管理

网站上都比较好操作,

设置开源啊,什么仓库成员管理等等,就不做过多赘述了。

7.冲突解决

什么原因导致的呢?

A在更新到远端仓库时,B在A之前推送到远端仓库,并且和A推送的是同一个文件,同一段代码,B推送完成后,A没有更新到本地导致的。

我接下来模拟一下。

首先我在远端仓库修改代码,模拟其他成员推送过的新版本。

这是服务器最新代码(默认我不知道):

Git--分布式版本控制_第56张图片

 这是我也要推送我的代码

Git--分布式版本控制_第57张图片

 这是发生冲突了Git--分布式版本控制_第58张图片

 当然这也是有解决办法的

Git--分布式版本控制_第59张图片

Git--分布式版本控制_第60张图片

 根据实际添加替换即可。

Git--分布式版本控制_第61张图片

 更新之后就好了Git--分布式版本控制_第62张图片

 【尾言】:现在你已经对git及其工作流程有了大致了解,快去上手试试吧。

你可能感兴趣的:(框架,git,gitee,intellij-idea,架构)