Git

git分布式版本控制

git是什么?

开源的分布式版本控制系统,可以可以有效、高速的处理从很小到非常大的项目版本管理。

比如说有一条开发主线,如果我们有两个开发,他们两个都在开发主线上修改文件的话,这样就会让开发主线很乱,这个时候就可以用git创建分支,分支1和分支2,开发一人员在分支1上操作,开发二人员在分支2上操作,他俩之间是互不影响的,并且他俩的操作是互相看不到的,他俩把操作的文件最后合并到开发主线上。

git特点:

版本控制:可以恢复到任意版本

分布式:可以把git安装在任何一台电脑上

工作过程是将服务器上的代码下载到本地,本地开发完成后,再提交至服务器。

git和svn的区别

git是分布式的,snv是集中式的

git每个历史版本都存储完成文件,便于恢复,svn是存储差异文件,历史版本不可恢复

git可离线完成大部分操作,svn不行

git有更优雅的分支和合并实现

git有更强的撤销修改和修改历史版本能力

git效率更高,速度更快

git的几个概念

一工作目录(git初始化的一个目录)

对项目的某个版本提取出来的内容,这些从git仓库的压缩数据提取出来的文件,放在磁盘上供你修改。

二暂存区域

是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作`‘索引’’,不过一般说法还是叫暂存区域。

三git仓库目录

是Git 用来保存项目的元数据和对象数据库的地方。这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

git工作流程

在工作目录中修改文件 > 暂存文件,将文件的快照放入暂存区域 > 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

如果 Git 目录中保存着的特定版本文件,就属于已提交状态。如果作了修改并已放入暂存区域,就属于已暂存状态。如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

git安装

一 通过yum安装

二 通过编译安装

git常用的选项

添加文件至暂存区域

git add 

查看分支和创建分支

git branch 

进行撤销,也可以进行分支切换

git checkout 

克隆远程主机仓库

git clone 

把暂存区域的文件提交至仓库中

git commit 

初始化目录(这个目录就是我们的工作目录)

git inint 

合并分支

git merge 

拉去远程主机的仓库

git pull 

g把本地仓库推送到远程主机上

git push 

撤销操作

git reset 

查看git目录中文件状态

git status 

查看提交的版本

git log 

git使用演示

第一步

创建一个目录并进入此目录 git init

第二步

把这个目录初始为git 的工作目录,初始化之后,会生成一个隐藏文件

第三步

在git工作目录创建一个文件并提交

提交:

(1)单独提交至暂存区域

git add 文件名     

将工作目录的全部提交至暂存区域

git add .           

(2)将暂存区域的文件提交至仓库

git commit –m '版本号命名'

撤销工作区内容

第一步

查看当前文件状态

第二步

如果没有修改,则编辑这个文件,编辑后查看状态

第三步

撤销

git checkout  - - 文件名

撤销暂存区域内容

第一步

查看当前文件状态

第二步

编辑文件并查看状态

第三步

提交文件

git add 文件名

并查看文件状态

第四步

回滚到工作区域

git reset HEAD 文件名

第五步

撤销工作区域内容

回滚到任意版本(仓库的操作)

第一步

先提交多个版本

第二步

查看所有版本

git log

第三步 回滚到指定版本

git reset - - hard commit值

git reset - -hard HEAD~版本号

第四步

查看即可,现在出现一个问题,当我回滚到指定版本后,其他版本都不见了,那怎么回滚到不见的版本呢

第五步

git reflog

这步可以查看到以前操作的指令,可以查看到以前版本的commit号

git 的分支

创建

git branch 分支命名

查看

git branch  

* master意思是主分支,*代表当前所处的是哪个分支,只有有文件才会有分支概念

切换

git chechkout 分支名

git分支使用演示

就是说,在分支上操作的文件,切换后,其他分支不可见。

合并分支

git merge 分支名

(必须在主分支执行此命令)

合并后可以查看到子分支文件的内容和子分支提交分版本

gitlab私有仓库的搭建

目的是用来存放代码和项目

第一步

上传安装包

第二步

安装

第三步

修改gitlab配置文件

vim /etc/gitlab/gitlab.rb

查找external_url 修改为本机ip

第四步

让配置生效

gitlab-ctl reconfigure

第五步

浏览器访问(ip地址即可)

如果80端口有开启,则先停掉httpd或nginx

第六步

修改密码

第七步

修改用户名 admin可能登陆不上

私有仓库的使用

第一步

使用IP登陆后,点击扳手符号

创建用户

第二步

点击 new users

第三步

填写用户名 邮箱 而后确定

创建项目组

第四步

点击new group

在group path处填写信息 webbs

visibility level 选择public

第五步

点击 new project

第六步

而后进入Linux根目录新建一个目录

第七步

进入目录后 git clone 仓库http地址

第八步

创建测试文件并提交至web界面

git push –u origin当前分支名字

push之后不用输入密码

第一步

Linux主机先生成密钥

key-gen

第二步

复制他的公钥信息

id_rsa.pub

第三步

把公钥信息写入到gitlab

点击左上角的几个横杠,选择profile setting,而后选择SSH keys,将公钥信息复制进去,保存即可。

第四步

测试 将http地址改为ssh地址

windows免密使用gitlab

第一步

安装git客户端工具

第二步

创建空目录

第三步

而后在空白处右击,选择git bash

第四步

使用git命令创建即可

第五步

生成key-gen

第六步

复制公钥信息

第七步

把公钥信息写入到gitlab

点击左上角的几个横杠,选择profile setting,而后选择SSH keys,将公钥信息复制进去,保存即可。

第八步

验证即可

首先要添加远程地址,不然会提交不上去

原文地址:https://www.cnblogs.com/shuaiyin/p/10916913.html