版本控制之git

1. 版本控制

作用:

  1. 版本控制可以记录每次数据的变更
  2. 还能够帮助还原任何一次的历史变更
  3. 实现团队的协同工作

2. svn VS git

集中式版本控制–svn
分布式版本控制–git

3. git

3.1 git特点

  • 强容灾性
  • 速度快
  • 设计简单
  • 很好的分支管理
  • 大型项目的版本控制大多基于git管理

3.3 git工作流程

  1. 从远程仓库中clone资源到本地仓库。
  2. 从本地仓库checkout代码进行修改
  3. 将修改后代码add到暂存区
  4. commit修改到本地仓库
  5. push本地仓库修改到远程仓库

4. Git操作

4.1 创建版本库

git init

4.2 添加文件

# 1.添加文件到暂存区 .(或者文件名)
git add .
# 2.提交文件到master分支
git commit -m '提交日志'
# 3. 查看本地仓库的状态
git status

4.3 修改文件

提交修改

# 1.添加文件到暂存区
git add .
# 2.提交文件
git commit -m '日志'

4.4 删除文件

删除之后,如果提交修改,那么版本库的文件就会删除

4.5 文件急救

查看提交日志

在这里插入图片描述

恢复master分支到上一个版本

在这里插入图片描述

在这里插入图片描述

至此,仓库中master分支的文件已经恢复,在工作去还原master分支

在这里插入图片描述

4.6 忽略文件

.ignore文件参考内容

.idea
*.iml
out
gen
target
*.class
*.log

5. 远程仓库

5.1 关联方式

5.1.1 SSH配置

  1. 右键打开git bash

  2. 生成密钥对

    ssh-keygen -t rsa
    
  3. 在github配置公钥信息

5.1.2 HTTPS配置

不需要额外配置,在同步时候提供github的用户名和密码即可

5.2 同步远程仓库

5.2.1 SSH方式

将本地仓库和进行同步,以便将本地仓库的数据备份到远程仓库

5.2.1.1 命令行
# orgin是远程仓库的别名
git remote add origin 仓库的ssh地址

如果以前同步过会出现如下错误

在这里插入图片描述

删除以前同步记录即可,然后重新同步即可

git remote rm origin

推送本地仓库到远程仓库

# 将本地仓库master分支到远程仓库
git push -u origin master

5.2.2 HTTPS

5.2.2.1 命令行
# 添加远程仓库
git remote add origin 仓库的https地址
# 提交代码
git push -u origin master

5.3 克隆远程仓库

将远程仓库克隆到本地,克隆会在本地创建一个新的仓库

5.3.1 命令行方式

$ git clone git@github.com:sublun/mytest.git

5.3.2 图形界面方式

  • 右键选择clone

在这里插入图片描述

  • 输入克隆地址

在这里插入图片描述
在这里插入图片描述

克隆与同步

相同点:都可以与远程仓库建立连接

区别:

  1. 同步适用于将本地仓库推送到远程空的仓库
        	2. 克隆适用于将远程仓库复制到本地新的仓库

5.4 拉取远程仓库代码

  • fech:从远程仓库获取最新版本到工作区,不会自动merge(合并代码)
  • pull:相当于是从远程获取最新版本并merge到本地工作区

fetch更加的安全,假如pull和fetch的结果一样,pull更加方便

git pull=git fetch+git merge

5.4.1 使用fetch和merge

# 查看远程仓库
git remote -v
# 获取远程仓库代码到本地仓库,并且创建一个新的分支temp
git fetch origin master:temp
# 比较temp与本地master分支的不同
git diff temp
# 合并temp分支到master
git merge temp
# 删除temp分支
git branch -d temp

5.5 解决冲突

5.5.1 冲突过程

  1. A和B两个人编辑同一个文件
  2. A提交修改到本地仓库,推送远程仓库
  3. B在未从远程仓库更新情况下,然后修改相同文件(已过期),并且提交本地修改,推送到远程仓库时冲突发生

5.5.2 解决方案

  1. 尽量避免不同人修改同一个文件
  2. 如果修改相同文件,应该先更新再修改
  3. 如果重复发生,相关人员在发生冲突方协商解决
  4. 冲突解决完成后,标记已解决,提交代码,双方都更新最新代码
  • 冲突文件

在这里插入图片描述

  • 标记已解决

在这里插入图片描述

5.6 私有git服务

5.6.1 搭建私有服务

  1. 安装git服务环境准备

    yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc
    
  2. 下载git-2.5.0.tar.gz,并安装

    1)tar -zvxf XXXX.tar.gz 
    2)cd git-2.5.0
    3)autoconf
    4)./configure
    5)make
    6)make install
    
  3. 添加用户

    adduser -r -c 'git version control' -d /home/git -m git
    
  4. 设置密码

    passwd git
    
  5. 切换到git用户

    su git
    
  6. 创建git仓库

    git --bare init /home/git/first
    

5.6.2 使用私有服务

操作方式基本和连接github一样,我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码

$ git remote add origin git@192.168.25.156:first

6. 分支管理

**HEAD:**指向当前正在使用分支的指针

**master:**创建仓库时,git默认就会创建一个master分支

  • master指向当前最新的提交,HEAD指向master,master就是一条线

在这里插入图片描述

  • 创建新分支dev

    # dev:新分支名称 -b:创建并切换到dev
    git checkout -b dev
    

在这里插入图片描述

  • 在dev分支上进行开发,master分支不变

    git add readme.txt 
    git commit -m "branch test"
    

在这里插入图片描述

  • 此时,变更发生在dev分支上,如果切回master,看不到变更信息

    # 切回到master分支,不会看到dev分支上的修改内容
    git checkout master
    
  • master分支合并dev分支

    # 切回master分支,再进行合并
    git merge dev
    

在这里插入图片描述

  • 删除dev分支

    # 切回master分支,删除dev分支
    git branch -d dev
    

在这里插入图片描述

7. IDEA中使用Git

7.1 配置git

在这里插入图片描述

在这里插入图片描述

7.2 添加工程到git

7.3.1 创建工程

在这里插入图片描述

7.3.2 创建本地仓库

在这里插入图片描述

选择存放本地仓库的位置

在这里插入图片描述

7.3.3 提交工程

点击提交按钮

在这里插入图片描述
输入日志信息

在这里插入图片描述

7.3.4 推送到远程仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.3 克隆远程仓库

在这里插入图片描述

在这里插入图片描述

7.4 拉取远程仓库代码

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值