美文网首页
git实用教程

git实用教程

作者: maoyaocsf | 来源:发表于2017-08-03 10:17 被阅读0次

    第一章 git是个什么玩意?

    版本控制

    安装
    下载

    初次使用Git前的配置(注意)
    git config --global user.name " 用户名"
    git config --global user.email "邮箱"

    第二章 理论基础

    1 git记录的是什么

    git是将每个版本独立保存

    2 三个文件

    工作区域 WorkingDirdctory
    暂存区域 Stage(index)
    git仓库 Repository

    Git的工作流程

    1 在工作目录中添加、修改文件
    2 将需要进行的版本管理的文件放入暂存区域

    git add filename
    
    1. 将暂存区域的文件提交到Git仓库
    git commit -m  "提交说明"
    
    Git管理的文件有三种状态
    • 已修改(modified)
    • 已暂存(staged)
    • 已提交(committed)

    第三章 查看工作状态和历史提交

    查看状态

    git status
    

    通过提示,写相应的操作
    (提示里有相应的操作指令)
    例如
    场景一
    你修改了工作区的文件,没有添加到暂存区


    QQ截图20170802152018.png

    git add 就是告诉你提交到暂存区
    git checkout -- <file> 就是把暂存区的文件覆盖到工作区(危险)
    场景二
    添加到了暂存区,然后修改了工作区文件

    QQ截图20170802152905.png

    绿色指的是暂存区的操作
    红色指的是工作区的操作

    查看历史提交

    git log
    

    题外:LICENSE文件是版权声明用

    第四章 回到过去

    reset 和 checkout

    QQ截图20170802154355.png

    快照>版本

    回滚

    reset命令的选项
    git reset --mixed HEAD~ (默认 --mixed可以不用写)

    - 移动HEAD的指向,将其指向上一个快照
    - 将HEAD移动后指向的快照 回滚到暂存区域
    

    git reset --soft HEAD~

    - 移动HEAD的指向,将其指向上一个快照 
    //场景  修改一次错误的commit
    

    git reset --hard HEAD~ (危险)

    - 移动HEAD的指向,将其指向上一个快照
    - 将HEAD移动后指向的快照回滚到暂存区域
    - 将暂存区域的文件还原到工作目录
    
    回滚指定快照

    git reset 版本快照的ID号

    回滚个别文件

    git reset 版本快照 文件名/路径

    往前滚

    git reset 版本快照的ID号

    第五章 版本对比

    终端命令 mkdir 文件夹名 创建文件夹

    比较暂存区域与工作目录

    git diff

    QQ截图20170802162928.png

    a是暂存区文件
    b是工作区文件
    ---表示没有变化
    +++表示变化
    +绿色 新加的
    白色 是共有的

    移动指令
    j键 上移动一行
    k键 下移动一行
    f 下一页
    b 上一页
    d 半页
    u 半页
    3g 跳到哪一行
    搜索
    / 关键词
    q 是退出

    比较两个历史快照

    git diff 快照ID1 快照ID2

    比较当前工作目录和Git仓库中的快照

    git diff 快照ID(HEAD当前)

    比较暂存区和Git仓库中的快照(不加id为当前 )

    git diff --cached 快照ID

    终极密图

    第六章 修改最后一次提交,删除文件和重命名文件

    • 修改最后一次提交
      场景一:版本刚一提交(commit)到仓库,突然 想起漏掉两个文件还没有添加(add)c
      场景二:版本刚一提交(commit) 到仓库,突然想起版本说明定得不够全面,无法彰显你本次修改的重大意义。。。
      执行带 --amend 选项的提交命令,Git应会“更正”最近的一次提交。
      git commit --amend
      进入一个编辑区
      i 键 插入
      :+q +!退出不保存
      esc +shift +z+z 保存退出

    • 删除文件 (彻底删除一个文件)
      1 git rm 文件名

      • 该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下次提交时不纳入版本管理
      • 当工作目录和暂存区域的同一个文件存在不同内容时,执行git rm -f 文件名 命令就可以把两个都删除
      • 如果只删除暂存区域的文件(保留工作目录的),那么可以执行 git rm --cached 文件名 命令实现 目的
        回到过去
        2 git reset --soft HEAD~
    • 重命名文件
      git mv 旧文件名 新文件名

    第七章 Git分支

    QQ截图20170803085221.png
    • 创建分支
      git branch 分支名
      git log --decorate 打印提交的所用引用 (指针)
    • 切换分支
      git checkout 分支名
      git log --decorate 打印当前的所用引用 (指针)
      git log 只打印当前分支的版本
      git log --decorate --oneline --graph --all
      --oneline 精简版
      --graph 图形的形式
      --all 所有版本

    第八章 合并和删除分支

    QQ截图20170803091421.png
    • 合并分支
      git merge 分支名 将指定的分支合并到当前的分支来
      冲突(conflicts): 两个分支中,存在同名的文件,但是文件的内容却不同,git不知道 你要舍弃哪个,保留哪个 ,
      可以打开文件修改,git在文件作的两个分支不同的注释,然后add commit , 再合并
    • 删除分支
      gitf branch -d 分支名

    第九章 匿名分支和checkout命令

    • checkout命令

    相关文章

      网友评论

          本文标题:git实用教程

          本文链接:https://www.haomeiwen.com/subject/tepelxtx.html