码迷,mamicode.com
首页 > 其他好文 > 详细

Git知识

时间:2019-02-25 18:09:45      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:graph   img   code   mit   lin   管理   ==   文件删除   增加   

 

git最小化配置:

  配置user.name 和 user.email

  git config --global user.name ‘your_name‘

  git config --global user.email ‘your_email‘     // email需要是有效的Email

 

  config的作用域

  缺省等同于local

    git config --local  只对某个仓库有效

    git config --global 对当前用户所有仓库有效

    git config --system 对系统所有登陆用户有效

 

  显示config配置,加--list

    git config --list --local

    git config --list --global

    git config --list --system

 

建Git仓库

  2种场景:

    把已有的项目代码纳入Git管理

      #cd 项目代码所在的文件夹

      #git init

    新建项目直接用git 管理

      #cd 某个文件夹

      #git init your_project  会在当前路径下创建和项目同名的文件夹

      #cd your_project

 

往仓库里添加文件:

  版本历史

  暂存区

  工作目录

    查看git工作状态

      #git status

    将文件加入到暂存区:

      #git add 文件或文件夹

    将暂存区文件正式提交

      #git commit  -m  "内容"

    查看版本历史的日志

      #git log

    将已经管理但是刚修改的文件添加到暂存区

      #git add -u 

 

文件重命名:

    方案一:

    #mv readme readme.md

    #git add readme.md

    #git rm readme    原文件删除

    #git commit -m ‘内容‘

    注:操作还原,清理暂存区所有变更

    #git reset --hard

    方案二:

    #git mv readme readme.md

    #git commit -m ‘内容‘

 

 

查看git版本历史:

    #git log --online    简洁方式查看历史

    #git log --n4  查看最近4次历史

    #git log --all 查看所有分支的版本历史

    #git log --all --graph  父子关系展示版本历史

 

    注:git branch -v 查看本地分支

 

查看版本历史图形界面工具:

    gitk    

 

git目录:

    查看git 配置文件

    #cat .git/config

    

    .git/refs/  下存在heads和tags文件,heads下是分支文件的指针文件;tags下文件是哈希值文件;.git/objects/下文件是上传的文件

    #cd e8

    #git cat-file -t e8xxxx   // 查看文案类型

    #git cat-file -p e8xxx   //查看文件内容

技术图片

    #git cat-file -p b72xxx

 

commit与tree与blob关系:(git对象的彼此关系)

技术图片

 

技术图片

 

 查看git分支/切换分支:

  git branch -av  //查看分支

  git checkout master  //切换分支

  git checkout -b 子分支 父分支   //创建基于父分支的子分支

 

分离头指针:

  git checkout commit编号   //进入分离头指针

  文件编辑后,分离头要创建/加入某一分支

  git branch ‘分支名‘  xxxxxx     //xxxx是分离头指针编号

 

 head和branch关系:

  head不仅可以指向分支,还可以指向某个文件(分离头指针)

  

删除不需要的分支:

  git branch -D 分支名

       

修改commit信息:

  git commit --amend

 

修改老旧commit信息:

  git rebase -i commit的父ID  ==》进入说明文件 :wq! => 进入交互界面修改 ,保存  wq!

 

连续的多个commit合并成一个:

  commit的父ID查看:

   git log --graph  选定commitID的下一个即为父commit

  #git rebase -i commit的父ID

  ==》修改文件

  假设要合并4个文件,则保留一个pick,3个修改成s

       再保存(wq!),进入交互界面

  修改文件,保存  wq!

 

间隔的多个commit合并成一个:

  #git rebase -i 最下面的commitID

  =》 在文件的最上面增加pick 最下面的commitID ,要合并的commit放在一起,保留一个pick,其余修改成s

技术图片

  其余步骤同上

 

暂存区和head文件(最近commit的文件)差异:

  #git diff --cached  

 

暂存区和工作区差异:

  #git diff

  #git diff -- readme.md //只比较readme.md文件差别

 

  

Git知识

标签:graph   img   code   mit   lin   管理   ==   文件删除   增加   

原文地址:https://www.cnblogs.com/zy1234567/p/10432162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!