Git操作学习使用笔记--
Posted Demonwuwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git操作学习使用笔记--相关的知识,希望对你有一定的参考价值。
Git工具使用笔记
学习 极客时间玩转Git课程记录
链接: http://gk.link/a/11yCe
配置user信息
git config --global user.name ‘your_name’
git config --global user.email ‘your_email@domain.com’
- config有三个作用域
– git config --local 只对某个仓库有效
– git config --global 对当前用户所有仓库有效
– git config --system 对系统所有登陆的用户有效
显示config的配置, 加 --list
– git config --local --list
– git config --global --list
– git config --system --list
示例
在仓库中,git config local 优先级高于git config global
创建Git仓库
两种场景
1、把已有的项目代码纳入Git管理
cd 项目代码所在文件夹
git init
示例
2、新建的项目直接用Git管理
cd 目标文件夹
git init your_project #会在当前路径下创建和项目名称同名的文件夹
cd your_project
往仓库添加文件
添加文件时,会先添加到暂存区,再提交生成对应版本
在工作目录创建或添加文件后,可以用命令git status
命令查看
此时发现有logging目录下的文件为untracked file状态,
git add 文件名或文件夹名 #添加文件到暂存区
此时再看git status可以发现文件被添加到暂存区了。
此时使用git commit
命令来提交添加变更理由,纳入到版本库里。
git commit -m'your comment'
提交后可以用git log
命令来查看提交记录
git reset --hard
清理掉暂存区和工作区清理
当我们需要对已经提交的文件进行重命名的时候,可以使用命令
git mv 源文件名 目标文件名
可以简明看log,命令`git log --oneline
git log --oneline
创建分支
查看有多少分支
git branch -a
创建分支
git checkout -b 分支名 分支版本号
如同示例,先查看所有版本号,选择你所需切换的版本进行分之创建
通过在不同版本分支中提交文件,创建多个分支,然后可以通过以图的形式看版本分支。
git log --oneline --all -n5 --graph
其中–oneline简介显示,–all显示全部分枝日志,-n5 显示5条日制,–graph 以图形式展示
删除分支
使用命令git branch -d 分支名
来删除对应分支
当-d
不能删除时,在确认删除当前分支不会对项目造成影响的情况下可以使用-D
进行删除
通过图形工具来查看版本历史
可以通过图形化界面来查看git的不同版本信息。
输入命令gitk
gitk
.git目录
• 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 对象的大小
commit、tree和blob对象关系
如图所示,每个commit对应一个树。git里每个blob只与文件内容有关,只要文件内容相同,那就是一个blob。
首先 通过git log 查看版本信息,
通过命令
git cat-file -p 分支摘要
可以看到的出的内容为一棵树
再通过命令
git cat-file -p 树摘要
可以得到这棵树对应的内容
任意选择一个blob使用git cat-file -p 摘要
命令打开,可以得到对应内容
git add命令添加文件后,会在.get/objects目录下创建对应的实体。
实验步骤:
1、在空文件夹下初始化git仓库,并创建文件夹,可以发现并没有内容产生。
2、写入内容文件后,再进行查找即可看到,
由此可知,在讲代码提交到暂存区的时候,git就会创建对应的blob。
注意,在查询的时候,记得加上objects后的文件夹名
在commit提交后,可以查看对应的树和commit
此时有1个commit,2个tree,1个blob。
head和branch
分离头指针:变更没有针对branch做,如果需要保存变动,则需要在切换分支时与分支进行挂钩,如果不进行挂钩,在切换到master时,则git可能会将其变动当作垃圾处理掉。
head始终指向一个commit
修改最新的commit的message
使用命令
git commit --amend
修改老旧的commit的message
若对老旧的commit的message修改,需要使用其commit的父节点
如图想把add readme file 修改为 add a readme file
则
使用命令
git rebase -i 40d9fe52597856869608b
此时出现弹窗
根据界面命令提示,将第一行修改为
reword 48af12b add readme file
或者
r 48af12b add readme file
保存并退出,此时出现另一个弹窗,再在这里修改想要修改的内容
修改后,对于的分支的摘要会有改变。
以上是关于Git操作学习使用笔记--的主要内容,如果未能解决你的问题,请参考以下文章