2. Git命令行操作之本地库操作

2.1 本地库初始化

git init 命令

用于创建一个空的Git本地仓库或重新初始化一个现有本地仓库

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

img

git config命令

用于区分不同开发人员的身份

注:这里设置的签名和登录远程库(代码托管中心)的账号密码无关

  • git config:项目级别或仓库级别,仅在当前本地库范围有效

img

  • git config --global:系统用户级别:登录当前os的用户范围

img

就近原则:项目界别优先于系统用户级别。二者都有时采用项目级别签名,二者都没有是不被允许的即git会报错

2.2 本地库基本操作

git status命令

查看工作区,暂存区状态

img

git add [file name]命令

将工作区的新建/修改添加到暂存区

注:git add 是一个多功能命令

a. 使用它跟踪新文件

b. 将已跟踪的文件加入到暂存区

c. 还能用于合并时将有冲突的文件标记为已解决的状态

img

git commit [file name]命令

将暂存区的内容提交到本地库

可加参数 -m "commit message 注释",这里不加-m后面也要添加注释

img

git log命令

查看历史记录

1.多屏显示控制方式
    空格 -- 向下翻页
      b -- 向上翻页
      q -- 退出
2.参数(查看历史记录的几种不同方式)
     git log --pretty=oneline //每条日志只显示一行    
     git log --oneline	      //每条日志只显示一行,且哈希值只显示一部分
     git reflog	              //在oneline的基础上增加了:HEAD@{移动到当前版本所需的步数}

img


img


img


img

git reset --hard命令

版本的前进后退

注意:

  1. 参数除了--hard还有使用--soft参数,--mixed参数

​ 2. 三个参数的区别:

--soft:仅仅在本地库移动HEAD指针

​ --mixed:在本地库移动HEAD指针,重置暂存区

​ --hard:在本地库移动HEAD指针,重置暂存区,工作区

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

基于索引值操作(推荐)

img

git reset --hard HEAD^

使用^符号,只能后退

img

git reset --hard HEAD~数字

使用~符号,只能后退

img

使用 git reset --hard [局部索引值] 实现删除文件的找回

前提:删除前,文件存在的状态已经提交到了本地库

img

img

img

git diff [file name]命令

用于比较工作区和暂存区中文件的差异

注:如果不带文件名则是比较多个文件

img

2.3 本地库分支管理

分支理解

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

img

分支的好处

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

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可

分支操作
  • git branch 分支名

    创建分支

    img

  • git branch -v 分支名

    查看分支

    img

  • git checkout 分支名

    切换分支

    img

  • git merge 有新内容的分支名

    合并分支,指定将哪一个分支的修改拿到当前分支上来

    第一步:切换到接受修改的分支上

    第二步:执行merge命令

    img

  • 解决冲突

    第一步:编辑文件,删除特殊符号

    第二部:把文件修改到满意的程度

    第三步:git add[文件名]

    第四步:git commit -m "日志信息"

    img

    img

相关文章

Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自...
fatal: remote origin already exists.解决方法 第一个问题g...
git常用命令(二)查看历史记录 git log [--pretty=oneline]...
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该...
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能...
方法:1、文件没有git操作时用“git checkout--文件”命令还...