美文网首页
Git 的常见用法

Git 的常见用法

作者: 有想法的小刘 | 来源:发表于2018-08-10 17:08 被阅读0次

    基本用法

    基本配置信息
    git config --global user.name "name",设置 username
    git config --global user.email "email",设置 email
    带引号是配置,不带是查看

    Git 的三个区域

    1. 工作区域
    2. 暂存区域
    3. Git 仓库

    Git 的工作流程

    1. 在工作目录中添加和修改文件
    2. 将需要修改的文件放入暂存区域
    3. 将暂存区域的文件提交到 Git 仓库

    Git 管理的文件的三种状态

    1. 已修改 ( modified )
    2. 已暂存 ( staged )
    3. 已提交 ( committed )

    Git 常用指令

    • git init 初始化 git
    • git add README.txt 或者 git add .添加工作文件到暂存区域
    • git commit -m "内容"提交暂存区域文件到 git 仓库
    • git status查看状态,一般用来查看暂存区域的文件状态
    • git log查看日志
    • git rm 文件,删除文件
      • 该命令这是删除工作区域暂存区域的文件,如果删除仓库区域的文件,可以结合 git reset --soft HEAD~,然后重新 addcommit即可
      • git rm -f 文件强制删除文件
      • git rm --cached 文件删除暂存区域文件
    • git mv 旧文件名 新文件名修改文件名
    • git commit --amend修改最后一次快照,点击 i 可以修改文件,如果想退出就 :q! 再回车

    比较 diff

    1. git diff ,比较工作区域暂存区域
    2. git diff 快照id1 快照id2,比较两个历史快照
    3. git diff 快照id1,比较当前工作区域和仓库快照

    reset 的用法

    1. git reset HEAD,当调用了 add 命令后,想要恢复到 add 之前的状态,可以调用这个命令
    2. git reset HEAD~
      1. 移动 HEAD 的指向,将其指向上一个快照(本来指向最新的 log,即指向倒数第二个)
      2. 将 HEAD 移动后指向的快照回滚到暂存区域
      3. 相当于 git reset --mixed HEAD~,默认情况
      4. 影响仓库区域暂存区域
    3. git reset --soft HEAD~
      1. git reset HEAD~ 的区别在于,不会修改暂存区域的内容,暂存区域依旧是上一次提交的内容
      2. 作用的是撤销一次错误提交的命令
      3. 只影响仓库区域
    4. git reset --hard HEAD~
      1. git reset HEAD~ 的区别在于,还会将上一个快照的暂存区域的文件还原到工作目录
      2. 影响仓库区域暂存区域工作区域
    5. 回滚到特定的快照,HEAD 后面加上 hash 值(即 log 日志 的唯一标志)
    6. 回滚个别文件
      1. git reset 版本快照 文件名/路径
    7. 往前滚git reset 快照id,这里也是有 --mixed--soft--hard的区分

    分支用法

    不同分支有自己的快照仓库区域

    1. git branch feature创建分支
    2. git branch查看分支
    3. git checkout feature切换分支
    4. git log --decorate查看带有分支的 log
    5. git checkout -b feature2,快速创建并切换 feature2 分支
    6. git branch -d feature删除分支

    分支合并

    git merge feature,把 feature 分支合并到 master(当前) 分支上

    合并以后一般会发生冲突,就去文件中修改

    checkout 的用法总结

    1. git checkout -- <file>,当修改文件后但没有 add,调用这个命令可以根据暂存区域拷贝文件到工作区域
    2. git checkout HEAD~ README.md,调用这个命令可以根据历史快照拷贝上一个快照的文件到暂存区域和工作区域
    3. 切换分支:git checkout feature

    引用小甲鱼前辈的分支图

    image

    相关文章

      网友评论

          本文标题:Git 的常见用法

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