分布式版本控制系统git

一、基础概念

1.1 git是什么?

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
在这里插入图片描述

1.2 为什么要做版本控制

要保留之前所有的版本,以便回滚和修改。

1.3 git 安装

  • windows系统
    https://git-scm.com/download/win

  • linux系统
    yum -y install git

  • macos系统
    https://git-scm.com/download/mac

二、基本操作

2.1 初始化操作

使用git对一个目录进行版本控制需要执行以下操作:

  • 进入要管理的文件夹

  • 执行初始化命令
    git init

  • 管理目录下的文件状态
    git status

  • 管理制定文件
    git add 文件名
    git add .

  • 个人信息配置:用户名、邮箱
    git config --global user.email "admin@panpancar.com"
    git config --global user.name "admin"
    git config --global color.ui true

  • 生成版本
    git commit -m '描述信息'

  • 查看版本记录
    git log

2.2 提交代码

git add .
git commit -m '修复bug'

2.3 回滚版本

  • 回滚至之前版本
    git log
    git reset --hard 版本号

  • 回滚之后版本
    git reflog
    git reset --hard 版本号

2.4 阶段回顾与总结

git init    # 将普通目录转为git仓库,表示该目录支持版本控制;
git add     # 将工作区的数据,拷贝到暂存区
git commit  # 将暂存区的数据同步到本地仓库
git log     # 查看所有的提交记录
git reflog  # 查看所有的历史提交记录
git reset --hard  # 回退到指定的commitID
git status  # 查看状态

在这里插入图片描述

2.5 分支

2.5.1 分支

分支的目标提供多个环境给开发,以避免影响主线

2.5.2 分支命令总结

  • 查看分支
git branch       # 查看分支
     -d          # 删除分支
git checkout     # 切换分支
git merge dev    # 站在master: 将dev的最新代码合并到master分支
  • 创建分支
    git branch 分支名称

  • 切换分支
    git checkout 分支名称

  • 合并分支(可能产生冲突)
    git merge 要合并的分支
    注意: 切换分支再合并

  • 删除分支
    git branch -d 分支名称

2.5.3 工作流

有了分支,我们的开发工作流程就变成如下方式:
在这里插入图片描述

2.6 上传代码至 gitee

2.6.1 注册帐号并创建远程仓库,并上传待卖

1、给远程仓库起别名
git remote add origin 远程仓库地址

2、向远程仓库推送代码
git push -u origin  分支

2.6.2 初次在新电脑下载代码

1、克隆远程仓库代码
git clone 远程仓库地址 (内部已实现gitremote add origin 远程仓库地址)

2、切换分支
 git checkout 分支

下载完成后,继续开发

1、切换到dev分支进行开发
git checkout dev

2、把master分支合并到dev [仅一次]
 git merge master

3、修改diam

4、提交代码
git add .
git commit -m 'xxx'
git push origin dev

2.6.3 在自己电脑继续写代码

1、切换到dev分支继续开发
git checkout dev

2、拉取代码
git pull origin  dev

3、继续开发

4、提交代码
git add . 
gti commit -m 'xxx'
git push origin dev

开发完毕,合并代码

1、将dev 分支合并到maser,进行上线
git checkout master
git merge dev
git push origin master

2、把dev分支也推送到远端
git checkout dev
git merge master
git push origin  dev

2.6.4 知识补充&总结

git clone 第一次必须要克隆项目

git pull origin master
git push origin master
等价于
git fetch origin 
git merge origin /dev

在这里插入图片描述

  • 添加远程连接
git remote add origin 地址
git remote -v
  • 推送代码
git push origin dev
  • 下载代码
git clone 地址
  • 拉取代码
git pull origin dev
等价于
git fetch origin dev
git merge origin/dev
  • 记录图形展示
git log --graph --pretty=format:"%h %s"

2.7 其他知识补充

2.7.1 Tag标签

git标签就是对commit的依次快照,便于后续特定时期的代码快速取出。在代码发布时可以使用标签发布。

  • 对当前最新提交的代码创建标签, -a 标签名称,-m 标签描述
git tag -a "v1.0" -m "信息描述"
  • 创建标签,指定commitID
git tag -a v1.2 commitID -m "Messages"
  • 查看标签详情
git tag 
git log -l

2.7.2 免密码登录

把公钥推送到gitlab 即可

2.7.3 git忽略文件

让git 不再管理当前目录下的某些文件。 .gitignore
通常情况下如有下情况文件可能需要忽略

  • 1.程序运行时产生的垃圾文件
  • 2.程序运行时产生的缓存文件
  • 3.程序本地开发使用的图片文件
  • 4.程序链接数据一类的配置配置文件
*.h
!a.h
files/
*.py[c|a|d]
```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值