Git命令操作

Git命令操作

git命令,是完全兼容Linux命令行的,所以Linux的命令行在git也可以运行

本地库初始化

  • 命令:git init

  • 效果:在文件夹中,会被创建出一个.git的一个隐藏文件,这时,本地库已经初始化完成

在这里插入图片描述

  • 注意:.git目录是存放本地库相关的配置文件,不要删除,也不要胡乱修改

设置签名

设置签名,也就是设置本地库的使用者,只是用于区分在上传到github项目托管的时候的上传者

  • 形式:

    ​ 用户名:yuli

    ​ 邮箱:yuliayuli@email.com

  • 作用:用于区分不同的开发人员

  • 辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关联

  • 命令:

    • 项目级别/仓库级别:仅在当前本库范围内生效

      • git config user.name '仓库级别用户名'

      • git config user.email '仓库级别邮箱@email.com'
        在这里插入图片描述

    • 系统级别,当前操作系统的用户范围

      • git config ==--global== user.name '系统级别用户名'
      • git config ==--global== user.email '系统级别邮箱@email.com'
      • 信息保存位置(~/.gitconfig):
        • ==~==是系统用户文件夹所在的位置
          在这里插入图片描述
    • 级别优先级

      • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别 的签名
      • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
      • 二者都没有不允许

添加、提交以及查看状态

命令范例作用
statusgit status查看工作区缓存区的状态
addgit add [filename]将工作区的“新建/修改”添加到暂缓区
commitgit commit -m ‘这里写备注信息’将暂缓区的内容提交到本地库

查看版本历史记录

log命令

命令:log

使用格式:git log --[选项]

说明:如果使用默认log(即没有选项)的时候,会默认使用less打印出所有的历史版本的详细信息

示例:

在这里插入图片描述

log选项
-n(自定义显示数量)

选项:-n

作用:只显示历史n个版本(默认为指针指向的位置之前的n个版本)

使用格式:git log -2

示例:

在这里插入图片描述

–pretty=oneline(显示格式)

选项:–pretty=oneline

作用:使每个历史版本只显示该版本的hash值以及他的版本备注

使用格式:git log --pretty=oneline

示例:
在这里插入图片描述

–oneline

选项:–oneline

作用:使每个版本只显示该版本的简化后的hash值以及他的备注

使用格式:git log --oneline

示例:
在这里插入图片描述

reflog命令

命令:reflog

作用:显示每个历史版本的简化后的hash值,和HEAD@{n}以及备注

使用格式:git reflog

说明:HEAD@{n}的意思为HEAD@{移动到当前版本需要多少步}

示例:

操作版本的前进后退

本质:

操作版本的前进后退本质其实就是操作指针的前进后退
在这里插入图片描述
例如这个图,他现在的指针(HEAD)正在指向HEAD@{0},所以,我们认为现在的版本为b1c3d95这个版本

如果我们想要版本后退,就将指针往后移动,即可回退版本。想要版本前进就往前移动。

reset命令

命令:reset

作用:操作版本指针

使用格式 git reset -[选项]

使用方法如下:

基于索引值操作版本(推荐)

优点:可以前进后退到到任何版本

  • git reset --hard [局部索引值]

  • git reset --hard 2e299b6
    在这里插入图片描述

使用^符号(不推荐)

缺点:只能后退版本

  • git reset --hard^
  • 注:一个^表示回退一个版本,n个^表示回退n个版本
使用~符号(不推荐)

缺点:只能后退版本

  • git reset --hard~n
  • 表示回退n步
reset命令的三个选项对比
–soft
  • 仅在本地库中移动HEAD指针
–mixed
  • 在本地库中移动HEAD指针
  • 重置暂存区
hard参数
  • 在本地库中移动HEAD指针
  • 重置暂存区
  • 重置工作区

删除文件并找回

  • 前提:删除前,文件存在时的状态提交到了本地库。
  • 操作:gitreset--hard[指针位置]
    • 删除操作已经提交到本地库:指针位置指向历史记录
    • 删除操作尚未提交到本地库:指针位置使用 HEAD

比较文件差异

命令:diff

作用:比较本地库的这个文件与暂存区或者历史的版本的这个文件中的差异

使用格式:git diff [文件名]

范例(该范例为比较本地库与暂存区的差异)

在这里插入图片描述

  • gitdiff[文件名]
    • 将工作区中的文件和暂存区进行比较
  • gitdiff[本地库中历史版本][文件名]
    • 将工作区中的文件和本地库历史记录比较
  • 不带文件名比较多个文件

分支管理

什么是分支

在版本控制过程中,使用多条线同时推进多个任务。

分支的好处

同时并行去推进多个功能的开发,提高开发的效率,

各个分支在开发的过程中,如果某个分支开发失败,不会对其他分支有任何影响。

分支操作

注意:在分支操作中,全部都是以现在所处的分支开始操作

创建分支

命令:gitbranch

作用:创建分支

使用格式:git branch [分支名]

查看分支

命令:branch

选项:-v

作用:查看分支

使用格式:git branch -v

切换分支

命令:chekout

作用:切换分支

使用格式:git chekout [分支名]

合并分支

命令:merge

作用:合并分支

使用格式:git merge [有新内容的分支名]

  1. 利用git checkout [被合并分支名],切换到接受修改的分支(被合并,增加新内容)上
  2. 执行 merge 命令
解决冲突
冲突的表现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VWjSOzp6-1589297681902)(C:\Users\13537\AppData\Roaming\Typora\typora-user-images\image-20200512233050419.png)]

冲突的解决
  • 第一步:编辑文件,删除特殊符号
  • 第二步:把文件修改到满意的程度,保存退出
  • 第三步:gitadd[文件名]
  • 第四步:gitcommit-m"日志信息"
  • 注意:此时 commit 一定不能带具体文件名

看了尚硅谷的git教学视频,特意来写写笔记,加深记忆,里面的老师讲得很好,如果有需要的人也可以去看看视频

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值