• Git管理工具教程01


    目录

    1、目标

    2、概述

    2.1、开发中的实际场景

    2.2、版本控制器的方式

    2.3、Git工作流程图

    3.操作


    1、目标

    了解 Git 基本概念
    能够概述 git 工作流程
    能够使用 Git 常用命令
    熟悉 Git 代码托管服务
    能够使用 idea 操作 git

    2、概述

    2.1、开发中的实际场景

    场景一:备份
    小明负责的模块就要完成了,就在即将 Release 之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流
    场景二:代码还原
    这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的 代码已经回不到从前了。什么地方能买到哆啦A 梦的时光机啊?
    场景三:协同开发
    小刚和小强先后从文件服务器上下载了同一个文件: Analysis.java 。小刚在 Analysis.java
    文件中的第 30 行声明了一个方法,叫 count() ,先保存到了文件服务器上;小强 Analysis.java 文件中的 第50 行声明了一个方法,叫 sum() ,也随后保存到了文件服务器上,于是, count() 方法就只存在于小刚的记忆中了
    场景四:追溯问题代码的编写人和编写时间!
    老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个Bug 调试了 30 多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!

    2.2、版本控制器的方式

    a 、集中式版本控制工具
    集中式版本控制工具,版本库是集中存放在中央服务器的, team 里每个人 work 时从中央服务器下载代 码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。
    举例: SVN CVS
    b 、分布式版本控制工具
    分布式版本控制系统没有 中央服务器 ,每个人的电脑上都是一个完整的版本库,这样工作的时候,无 需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的 修改了。
    举例: Git

    2.3Git工作流程图

    3.操作

    3.1 * 查看修改的状态( status
    作用:查看的修改的状态(暂存区、工作区)
    命令形式: git status
    3.2 * 添加工作区到暂存区 (add)
    作用:添加工作区一个或多个文件的修改到暂存区
    命令形式: git add 单个文件名 | 通配符
    将所有修改加入暂存区: git add .
    3.3 * 提交暂存区到本地仓库 (commit)
    作用:提交暂存区内容到本地仓库的当前分支
    命令形式: git commit -m ' 注释内容 '
    3.4 * 查看提交日志 (log)
    在之前 配置的别名 git - log 就包含了这些参数,所以后续可以直接使用指令 git - log
    作用 : 查看提交记录
    命令形式: git log [option]
      options
            --all 显示所有分支
            --pretty=oneline 将提交信息显示为一行
            --abbrev-commit 使得输出的 commitId 更简短
            --graph 以图的形式显示
    3.3.5 、版本回退
    作用:版本切换
    命令形式: git reset --hard commitID
    commitID 可以使用 git - log git log 指令查看
    如何查看已经删除的记录?
    git reflflog
    这个指令可以看到已经删除的提交记录
    3.3.6 、添加文件至忽略列表
    一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
    示例:
    # no .a files
    *.a
    # but do track lib.a, even though you're ignoring .a files above
    !lib.a
    # only ignore the TODO file in the current directory, not subdir/TODO
    /TODO
    # ignore all files in the build/ directory
    build/
    # ignore doc/notes.txt, but not doc/server/arch.txt
    doc/*.txt
    # ignore all .pdf files in the doc/ directory
    doc/**/*.pdf
    综合例子:
    1. #####################仓库初始化######################
    2. # 创建目录(git_test01)并在目录下打开gitbash
    3. # 初始化git仓库
    4. git init
    5. #####################创建文件并提交#####################
    6. # 目录下创建文件 file01.txt
    7. # 将修改加入暂存区
    8. git add .
    9. # 将修改提交到本地仓库,提交记录内容为:commit 001
    10. git commit -m 'commit 001'
    11. # 查看日志
    12. git log
    13. ####################修改文件并提交######################
    14. # 修改file01的内容为:count=1
    15. # 将修改加入暂存区
    16. git add .
    17. # # 将修改提交到本地仓库,提交记录内容为:update file01
    18. git commit --m 'update file01'
    19. # 查看日志
    20. git log
    21. # 以精简的方式显示提交记录
    22. git-log
    23. ####################将最后一次修改还原##################
    24. # 查看提交记录
    25. git-log
    26. # 找到倒数第2次提交的commitID
    27. # 版本回退 git reset commitID --hard

    PS:这个也不错
  • 相关阅读:
    LR学习笔记——基本面板
    KaiwuDB 内核解析 - SQL 查询的生命周期
    Git小乌龟(TortoiseGit) 简单提交代码到github
    指向指针的指针pp指向指针p
    java-php-python-科大学生党员之家设计计算机毕业设计
    【Go】go build失败,报方法undefined
    vue根据接口数据配置动态路由(动态配置后台管理系统路由权限)
    Python基本数据结构:深入探讨列表、元组、集合和字典
    前缀和与二维前缀和
    Golang make 与 new 函数的区别
  • 原文地址:https://blog.csdn.net/keepstrivingchy/article/details/126145359