xinggevip

Git基本操作
4 Git命令操作4.1 本地库初始化命令: git init效果:注意:不要随意删除和修改4.2设置签名形式...
扫描右侧二维码阅读全文
17
2019/07

Git基本操作

4 Git命令操作

4.1 本地库初始化

  • 命令: git init
  • 效果:

1563339950186

  • 注意:不要随意删除和修改

4.2设置签名

  • 形式:

用户名:tom

Email地址: 1511844263@qq.com

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

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

  • 命令:

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

      • git config user.name tom_pro
      • git config user.email 1511844263_pro@qq.com
      • 信息保存位置: ./.git/config

      1563341091134

    • 系统用户级别:登录当前操作系统的用户范围

      • git config --global user.name top_glb
      • git config --global user.email 1511844263_pro@qq.com

      1563341844777

    • 级别优先级:

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

4.3 添加提交以及查看状态的操作

  • git status (查看状态)

    • 效果:默认是master分支/主干

    1563342242438

  • vim good.txt (创建文件)

    • 效果:发现有未追踪文件,提示把文件放到暂存区

    1563342933367

  • git add good.txt(放到暂存区)

    • 效果:提示在good.txt文件中LF将被替换为CRLF(安装时已说明)

    1563343257508

  • git status (查看状态)

    • 效果

    1563343594963

  • git rm --caches good.txt (返回至 添加到暂存区之前的状态)
  • git commit good.txt

1563344226119

  • :set nu (显示行号,说明在vim编辑器中)

1563344415239

  • :wq (编辑退出)

1563344583742

1563344731528

1563344930042

// 一个文件被改变,改变了5行内容

  • git status (查看状态)

1563345073419

  • vim good.txt (修改文件)

1563345408840

  • git status (查看状态,提示updada操作)

1563345511936

  • 修改的文件可以不用提交到暂存区,直接提交到分支
  • git add good.txt

1563346239060

  • git status (查看状态)

1563346298068

  • git reset HEAD <file> (把文件恢复到不是暂存的状态)
  • git commit -m "my second commit,modified good.txt" good.txt (快捷提交)

1563346627699

//提示文件修改了,修改了两行

4.4基本操作总结

  • 4.4.1 状态查看操作

git status

查看工作区、暂存区状态(工作区、暂存区发生的变化都能看到)

  • 4.4.2 添加操作

git add <file>

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

  • 4.4.3 提交操作

git commit -m "commit message" <file>

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

  • 4.4.4 查看历史纪录操作

  • 4.4.5 删除文件并找回

  • 4.4.6 比较文件差异

  • 说明:

    • 本地库:历史版本

    ​ ↑

    git commit

    ​ ↑

    • 暂存区:临时存储

​ ↑

新建必须执行git add才能git commit,修改可以直接git commit

暂存区修改可以撤销

​ ↑

  • 工作区:写代码

4.5 版本穿梭 Demo操作步骤

  • git log (查看当前版本记录)

1563348235057

哈希值,作者,日期

HEAD为指针,指向当前版本

  • 1563349337105
  • git log

1563349360020

4.6 查看历史记录

  • git log --pretty=oneline (一行显示历史记录,只显示当前版本及更老版本)

1563349603536

  • git log --oneline (一行显示历史记录,精简版,只显示当前版本及更老版本)

1563349732329

  • git reflog (显示指针移动到当前版本需要的步数,显示全部版本)

1563349921920

  • git log

多屏显示控制方式:

​ 空格向下翻页

​ b向上翻页

​ q退出

  • 前进后退

    • 基于索引值操作 git reset --haed[局部索引值] (推荐)
    • git reset --hard e605984

    1563351311056

    • 使用^符号:只能后退

      • git reset --hard HEAD^^^ (后退三步)
      • 注:一个^表示后退一步,n个表示n步
    • 使用~符号

      • git reset --hard HEAD~3 (后退三步)
      • 注:n表示后退n步
    • reset 命令的三个参数对比

      • --soft 参数

        • 仅仅在本地库移动HEAD指针
      • --mixed 参数

        • 在本地库移动HEAD指针
        • 重置暂存区
      • --hard 参数

        • 在本地库移动HEAD指针
        • 重置暂存区
        • 重置工作区

1563371173549

  • 添加到暂存区的删除文件找回

    • vim apple.txt
    • git add apple.txt
    • git reset --hard HEAD
  • 删除文件找回总结

    • 前提:删除前,文件存在的状态提交到了本地库
    • 操作:git reset --hard [指针位置] (恢复提交到本地库的操作)
    • 操作:git reset --hard HEAD (恢复提交到暂存区的操作)

4.7 分支管理

4.7.1 什么是分支?

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

1563415572123

4.7.2 分支的好处?

  • 同时并行推进多个功能的开发,提高开发效率
  • 各各分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可

4.7.3 分支操作

  • 创建分支

    • git branch [分支名]
  • 查看分支

    • git branch -v
  • 切换分支

    • git checkout [分支名]
  • 合并分支

    • 第一步:切换到接受修改的分支 (被合并,增加新内容)上

      • git checkout [被合并的分支名]
    • 第二部:执行merge命令

      • git merge [有新内容的分支名] 把分支合并到当前分支
  • 解决冲突

    • 冲突表现

    1563418935496

    • 冲突的解决

      • 1.编辑文件,删除特殊符号
      • 2.把文件修改到马满意程度,保存退出
      • 3.git add [文件名]
      • 4.git commit -m "message"

        • 注意:此时 commit一定不能带文件名
Last modification:July 18th, 2019 at 10:00 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment