zoukankan      html  css  js  c++  java
  • 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,将公钥信息复制进去,保存即可。

    第八步

    验证即可

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

  • 相关阅读:
    使用Spring提供的缓存抽象机制整合EHCache为项目提供二级缓存
    Spring使用Cache、整合Ehcache(转)
    每天学习SQL
    多线程
    ### The error may involve defaultParameterMap ### The error occurred while setting parameters
    日志分表
    Quartz学习(转)
    Quartz中时间表达式的设置-----corn表达式 (转)(http://www.cnblogs.com/GarfieldTom/p/3746290.html)
    分享一个测试图片的方式
    阿里云ECS配置踩坑之路
  • 原文地址:https://www.cnblogs.com/shuaiyin/p/10916913.html
Copyright © 2011-2022 走看看