Git基础 ( 1 )

9 篇文章 0 订阅
2 篇文章 0 订阅
本文详细介绍了Git,一个开源的分布式版本控制系统,涵盖了安装、基本概念、工作流程、常用子命令、配置、仓库操作、分支管理以及标签使用等内容,帮助开发者高效协作和管理代码版本。
摘要由CSDN通过智能技术生成

分布式版本控制Git

  • 由Linux作者编写

  • 是一个开源的分布式版本控制软件

  • 可以有效 , 高效的处理从很小到非常大的项目版本控制

  • 允许多个开发人员在同一个代码库上进行协作,而不会产生冲突。

  • Git通过使用分支和提交历史记录来管理代码的版本。

Git安装
  • 使用yum安装Git yum -y install git
  • 查看git版本 git --version
  • 查看git帮助信息 git --help
    • 更改中文系统显示 :
      • yum -y install langpacks-zh_CN
      • vim /etc/locale.conf —> LANG="zh_CN.UTF-8"
      • reboot
Git基础概念
  • 工作区(Workspace)

    • 存放从仓库中提取出来的文件的地方 , 放在磁盘上供你使用或修改
  • 暂存区(Index/Stage)

    • 一个文件 , 索引文件 , 保存了下次将提交的文件列表信息
  • 仓库(Local Repository)

    • 保存所有数据的地方 , 这里有提交所有版本的数据
    • .git 隐藏目录
  • 远程仓库(Remote Repository)

    • 托管代码的地方 , 可供其他人浏览 , 下载代码的服务器
Git工作流程

在这里插入图片描述

Git常用子命令
  • -config //修改git配置
  • -init //初始化本地仓库
  • -add //添加修改到暂存区
  • -commit //提交修改到本地仓库
  • -status //查看当前状态
  • -clone //将远程服务器的仓库克隆到本地
  • -push //提交修改到远程服务器
  • --local //仓库级
  • --global //全局级
  • --system //系统级
Git基础配置
  • 设置用户名

    git config --global user.name mark

  • 设置用户邮箱

    git config --global user.email mark@tedu.cn

  • 设置版本库默认分支

    git config --global init.defaultBranch master

  • 查看已有Git配置

    git config --list

  • 查看Git配置持久化文件

    less ~/.gitconfig

Git创建版本库(仓库)
  • Git初始化空版本库

    git init myproject

    • 与目录下创建 myproject 工作区
    • ls -a myproject/ //查看工作区下的所有内容
    • ls -a myproject/.git // 查看工作区下的隐藏目录 --> 仓库
  • 将已有目录制作成版本库

    • 创建空目录/工作区 mkdir mytest
    • 移动到目录下进行制作 git init
    • 查看仓库 ls -a /mytest/.git
Git仓库操作

cd myproject/

文件状态 无文件 +.md ---->未跟踪 +add ----> 要提交 +commit ----> 已提交

  • 查看Git本地仓库状态 git status

  • 创建README文件 echo "Learning Git" >> readme.md

  • 将文件信息添加到暂存区 git add readme.md

    • git add . 表示变化了的文件(新版本)添加到暂存区
  • 将暂存区文件提交到本地仓库 git commit -m "add readme"

    • 返回hash值/Git管理码 : [master(根提交) 295f61c] add README
  • 查看已上传在本地Git残酷的版本 git log --oneline

    • 回馈 上传记录
    • 添加新记录时 , 新的版本在上面
生成新版本
  • echo 123 > readme.md
  • git add readme.md / git add ./
  • git commit -m "done readme
Git指针操作
  • Head指针是一个可以在任何分支和版本移动的指针
  • 通过移动指针可以将数据还原至任何版本
  • 先使用log指令查看版本信息 , 获取指针 git log --oneline
  • 使用reset子命令回滚到指定版本 git reset --hard 哈希值
    • reset --soft //缓存区和工作目录不受影响 . reset后分支和HEAD指针移动到指定的commit,代码文件内容和reset之前一样,修改部分已加入到暂存区。通常用于重新提交。
    • reset --mixed //工作目录不受影响.reset后分支和HEAD指针移动到指定位置,代码文件内容和reset之前一样,修改部分未加入到暂存区。(需要重新执行git add)
    • reset --hard //工作目录 , 缓存区受影响.reset后分支和HEAD指针移动到指定commit,代码文件内容回退到指定commit,工作空间为clean状态。通常用于获取指定版本的代码文件.
    • 指针指向旧的记录 , 旧记录之上的记录不再在log命令下显示
    • 使用reflog 可以显示HEAD指针的移动轨迹 , 显示全部记录
Git分支
分支的基本概念
  • 分支可以让开发分多条主线同时进行 , 每条主线互不影响
    • 按功能模块分支 , 按版本分支
    • 分支也可以合并
  • 分支与HEAD指针的关系 :
    • 创建分支的本质是在当前提交上创建一个可以移动的指针
    • 根据HEAD指针判断当前分支
  • **常见的分支规范 : **
    • MASTER分支 : Master是主分支 , 是代码的核心
    • DEVELOP分支 : Develop最新开发成果的分支
    • RELEASE分支 : 为发布新产品设置的分支
    • HOTFIX分支 : 为了修复软件BUG缺陷的分支
    • FEATURE分支 : 为开发新功能设置的分支
管理多分支
  • 查看当前分支 : git status git branch -v
  • 创建分支 : git branch develop git branch release
  • 切换分支 : git checkout develop
  • 合并分支 (合并前需要切换到master主分支) :
    • git chechout master
    • git merge develop
  • 解决分支冲突
    • 查看有冲突的文件 cat a.txt
    • 直接修改有冲突文件 , 修改为最终需要的文件内容 vim a.txt
    • 修改完成后 , 正常add , commit提交 , 解决冲突
      • git add ./
      • git commit -m "resolve"
  • 删除分支 : git branch -d 分支名
Git标签
  • TAG标签 :
    • 标签用于标记某一提交点 , 唯一绑定一个固定的commitID , 相当于为这次提交记录指定一个别名 , 方便提取文件
    • 可以为重要的版本打上标签 , 标签可以时一个对象 , 也可以是一个简单的指针 , 但是指针不会移动
  • 使用tag子命令打标签 git tag v1
  • 查看标签 git tag , 回馈 v1
  • 删除标签 git tag -d v1
  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值