• git简单指令2


    gitk 通过图形界面工具来查查版本历史

    • COMMIT_EDITMSG

    • config 当前 git 的配置文件

    • description (仓库的描述信息文件)

    • HEAD (指向当前所在的分支),例如当前在 develop 分支,实际指向地址是 refs/heads/develop

    • hooks [文件夹]

    • index

    • info [文件夹]

    • logs [文件夹]

    • objects [文件夹] (存放所有的 git 对象,对象哈希值前 2 位作为文件夹名称,后 38 位作为对象文件名, 可通过 git cat-file -p 命令,拼接文件夹名称+文件名查看)

    • ORIG_HEAD

    • refs [文件夹]
      - heads (存放当前项目的所有分支)
      - tags (存放的当前项目的所有标签,又叫做里程碑)

    • cat 命令, 功能:用来显示文件。 例如 cat text.md 显示 text.md 文件的内容

    • ls -al 命令, 表示列出当前目录下的所有文件(包括隐藏文件)

    • git cat-file -t 命令 , 查看 git 对象的类型

    • git cat-file -p 命令, 查看 git 对象的内容

    • git cat-file -s 命令, 查看 git 对象的大小

    HEAD当前指向的分支信息.
    cconfig,当前仓库的配置信息,core,用户,远程,分支等信息.(命令操作其实就是修改当前config文件)
    refs
    ---heads,其实就是分支,里面包含所有的分支文件,文件存储了分支指向的指纹信息
    ---tags 叫做里程碑,或者版本发布用等记录重要版本.文件也存储了tag的指纹信息
    ---remotes,远程仓库信息
    objects 核心文件,存储文件,git cat-file 查看文件类型等信息

    HEAD 当我们执行切换分支的时候.git目录下的HEAD内容汇编 他会告诉我们再哪个分支下
    config里面的地址可以通过git config --local --list 来查看信息 cat config 查看配置信息 vi config 修改config内容
    git config --local user.email '' 直接进行修改
    git cat-file 显示版本库对象的内容、类型及大小信息。-t 对象类型 (tree commit tag)-s 对象大小 -p对象内容
    objects:存放对象 .git/objects/ 文件夹中的子文件夹都是以哈希值的前两位字符命名 通过打卡前两位和里面的子串连接可以通过git cat-file -t 查看对象类型

    git cat-file -t 发现文件的对象是commit 我们可以使用 -p来打开文件对象
    git cat-file -p 打开对象 对象里内容有blob是文件 可以直接进行打开 有tree 可以用-p打开文件夹进而进行下一步打开文件

    commit作为根节点 tree作为分支节点 blob作为最终的叶子节点
    -t查看对象类型 -p查看对象内容 对于commit的-t可以有blob有tree tree下面有tree或是blob blob直接打开文件内容
    疑问:git commit -m'Add readme' 对改动进行提交的时候生成四个文件,打开文件最终都到hello,word,创建四个文件最后都返回一个文件,相同文件夹以及文件对应的哈希是一样的

    git branch -av 查看当前分支内容
    git checkout master 改变分支或添加新的分支
    git branch fix_css a3f6f6b 给新产生的分支命名

    HEAD的使用,以及PARENT符号^和~。
    1 一个节点,可以包含多个子节点(checkout 出多个分支)
    2 一个节点可以有多个父节点(多个分支合并)
    3 是~都是父节点,区别是跟随数字时候,2 是第二个父节点,而~2是父节点的父节点
    4 ^和~可以组合使用,例如 HEAD~2^2

    What's the difference between HEAD^ and HEAD~ in Git?
    git checkout -b fix_readme fix_css 创建一个新的分支并且直接进行切换到那个新的分支上去
    cat .git/HEAD HEAD指向具体的commit上
    git diff a3f6f6b8 3ece7f544d 比较两个commit的差异
    "^"这个操作符代表父commit。
    当一个commit有多个父commit时,可以通过在符号“^”后面跟上一个数字来表示第几个父commit。
    比如,"A^" 等于 “A^1”(表示A这个commit的第1个父commit)。

    连续的“^”符号依次沿着父commit进行定位,直到某个祖先commit。

    ~ 相当于连续n个符合“^”。

    所以,HEAD^^ 等同于 HEAD~2 。

    git branch -av 查看分支情况
    git branch -D fix_readme 删除分支

    git branch -d branch_name:使用-d 在删除前Git会判断在该分支上开发的功能是否被merge的其它分支。如果没有,不能删除。如果merge到其它分支,但之后又在其上做了开发,使用-d还是不能删除。-D会强制删除。

    git commit --amend 对最近提交的一次message做变更

    git rebase -i fbc948a3 对任意父节点的message做变更

  • 相关阅读:
    js的BOM对象完全解析
    转:JavaScript中的this陷阱的最全收集
    转载:冷门js技巧
    MVVM的架构设计与团队协作 with StoryBoard
    ReactiveCocoa & FRP & MVVM
    ReactiveCocoa的冷信号与热信号 探讨
    Git本地项目上传 & SourceTree & GitHub 简单使用
    Monad / Functor / Applicative 浅析
    map & flatMap 浅析
    Swift -> Let & Var 背后编程模式 探讨
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12727601.html
Copyright © 2020-2023  润新知