• GIT → 05:Git命令行操作


    5.1 打开命令行窗口

    • 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作:

    5.2 初始化Git本地库

    命令: git init
    效果:

    注意: .git 目录中存放的是本地库相关核心配置文件,也不要随意删除与修改

    • .git 目录仓库目录说明:
    • hooks目录:脚本文件的目录。
    • info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件
    • logs目录:日志目录
    • objects目录:存储所有数据内容
    • refs目录:存储指向数据(分支)的提交对象的指针
    • config文件包含了项目特有的配置选项
    • description文件仅供 GitWeb 程序使用
    • HEAD文件指向当前分支

    5.3 设置签名信息

    • 作用:只为区分不同开发人员的身份信息
    • 格式:

    用户名:mengxuegu
    Email: mengxuegu@163.com

    • 注意:

    这里的签名信息和登录远程库的帐号和密码没有任何关系(码云,Github)

    • 命令:
    • 项目级别/仓库级别:仅在当前目录的本地Git仓库范围内有效
      • git config user.name mengxuegu_pro
      • git config user.email mengxuegu888@163.com
      • 签名信息保存位置: ./.git/config 文件中

    • 系统用户级别:登录当前操作系统的用户范围
      • git config --global user.name mengxuegu_glo
      • git config --global user.email mengxuegu666@163.com
      • 签名信息保存位置: ~/.gitconfig

    • 级别优先级:
      • 就近原则: 项目级别优先于 系统用户级别
      • 如果只有 系统用户级别 的签名,则采用 系统用户级别 的签名信息
      • 二者都不存在是不允许的。

    5.4 Git 基本操作

    5.4.1 查看状态

    • 用于查看工作区、暂存区的状态
    $ git status
    On branch master # 默认在master(主干)分支上
    No commits yet # 当前没有任何的提交
    nothing to commit (create/copy files and use "git add" to track)
    # 没有什么需要提交的(创建/复制文件,使用“git add”命令可追踪,也就是用git去管理文件)
    
    •   根据状态提示,往仓库中创建一个demo01.txt 文件, 文件保存一些内容(按i 插入内容, 按 :wq 保存并退出, 按 ':q!' 不保存强制退出):
    $ vim demo01.txt
    • 再git status 查看状态提示Untracked files (有未追踪文件):

    5.4.2 添加到暂存区

    • 将工作区的“新建/修改”添加到暂存区
      • 命令: git add <file name>

    • 恢复,不放到暂存区
      • 命令: git rm --cached <file name>

    5.4.3 提交到本地库

    将暂存区的内容提交到本地库
    命令: git commit [-m "提交说明信息"] <file name>
    修改demo1.txt 文件内容,再查看状态:

    5.4.4 查看版本历史记录

    显示最详细的日志信息
    命令: git log
    如果内容太长, 多屏显示控制方式:
    空格键: 向下查看
    b : 向上查看
    q : 退出查看
    以漂亮的格式显示:即每条日志只显示一行
    命令: git log --pretty=oneline
    简约的格式显示:
    命令: git log --oneline
    显示回滚版本步数[推荐]:
    命令: git reflog
    HEAD@{回滚对应版本,底层操作需要移动多少步}

    5.4.5 前进后退版本

    通过HEAD指针来移动回滚版本
    基于索引值操作[推荐方式]
    命令: git reset --hard <局部索引值>
    举例: git reset --hard 64d3d2a
    使用^ (异或)符号:只能后退
    命令: git reset --hard HEAD^
    注:一个 ^ 表示后退一步,n 个表示后退 n 步
    使用~ 符号:只能后退
    命令: git reset --hard HEAD~n
    注:n指定步数,表示后退 n 步

    5.4.6 删除文件并恢复

    前提:删除文件前,此文件需要已经提交过本地库,才可恢复
    删除:rm 文件名.txt
    命令: git reset --hard <历史记录索引值>
    删除操作已经提交到本地库:指针位置指向历史记录
    删除操作尚未提交到本地库:无法恢复

    5.4.7 对比文件差异

    将工作区中的文件和暂存区进行比较
    命令: git diff <文件名>
    举例:向apply.txt文件添加了两行,使用git diff apple.txt 查看
    将工作区中的文件和本地库历史记录比较
    命令: git diff <本地库中历史版本> <文件名>
    举例:不带文件名比较多个文件__

  • 相关阅读:
    UDP案例_在线咨询
    MFC对话框水平和垂直滚动条功能
    对话框中滚动条
    ON_COMMAND_RANGE 多个按钮响应一个函数
    char**赋值
    MFC如何使dialog对话框置顶
    如何让CListBox控件滚动条自动向下滚动?
    不带,以及带参数,带返回值的Lambda表达式
    JAVA学习_多线程技术
    最烦有些技术帖上来就放代码
  • 原文地址:https://www.cnblogs.com/BalmyLee/p/11767061.html
Copyright © 2020-2023  润新知