Git 贴心入门学习汇总

对于git的教程在网上还是有许多不错的教程的,这里先附上一篇相对简单易懂的GIT入门指南,值得一提的是许多同学(没错正是在下)在追逐自己在游戏领域知识体系搭建的同时,忽略了git对于日常工作的重要性,这里记录一下常用到的git指令,为道友们在工作中提供一些便利。

本篇内容意在总结归纳,相关详细信息资料以及下载git可以去git官网查看。

 

 

设置git的两个基本信息,这个信息会在未来的提交代码的时候有用,能够让其他人员可以明白究竟是谁提交的代码。

#设置用户名和用户邮箱
git config --global user.name "siming1992"
git config --global user.email "siming1992@gmail.com"

设置git工厂

//将当前目录设置为git工厂,会在当前目录创建.git文件,之后才可使用git命令对该文件夹进行管理
//这个目录被成为git的工作区
git init    

文件状态

查询文件状态,文件总共有四种状态Untracked / Unmodified / Modified / Staged(划重点了要考的)

git status        //会清楚显示当前变动文件及文件状态
git status -s     //简化版,看起来更清晰

将文件添加入暂存区(状态变更为Staged),从未执行过此命令的文件在执行该命令前为Untracked状态,尚未被git管理,已被管理的文件在更改后为modified状态

//从未执行过此命令的文件在执行该命令前为Untracked状态,尚未被git管理
git add a.txt    //将a.txt添加给git,进入Stage状态,此时该文件还没有提交给git的工厂
git add .        //将工作区中所有文件添加给git

将Staged文件提交给git的工厂(状态变更为Unmodified)

git commin -m "这里是提交信息,必填,请按照规范填写",进入Unmodified状态

删除已被管理文件(状态变更为Untracked,即不再受版本管理

//将文件从版本库和本地删除
git rm a.txt
//将文件从版本库中删除,本地文件依然保留
git rm --cached a.txt
//将文件夹从版本库中删除,本地文件依然保留
git rm -r folder_path --cached

将Staged文件变更回Modified状态(即从暂存区中退回)

//将全部文件还原
git checkout .
//还原a.txt
git checkout a.txt

查询版本库中的文件

git ls-files

查询git日志, 会经常使用,会得到每次的提交信息(日志和日期),还有一串40位的hash值,作为此次提交的唯一标识,GIT中每个组件(组件的概念后面会讲)都是以hash的二进制方式来存储,这个组件的名称就是文件夹名称+文件夹中的文件的名称,这个hash码是唯一的(又划)

git log   

使用reset命令对版本进行还原

//HEAD^^表示回到两个版本前,三个^表示回到三个版本前,HEAD~60可以回到60个版本前
git reset --hard HARD^^
//回退到某制定版本,log中与版本对应的哈希值
git reset --hard b7823a33c2534876a6afaf89923afcaf45cf1122

组件

这张图表现了commint,tree,和blob的关系,每一个组件都会存放在.git/objects文件夹下,当每次把文件设置为Staged状态的时候,就会在objects中创建一个Blob组件,当我们进行commit之后,首先会创建一个commit组件,之后把所有的文件信息创建一个tree组件,然后把Stage Area中的blob组件封装在tree中完成一次提交。commit / tree / blob ,(划重点)

获取a.txt的hash值

git hash-object a.txt

获取组件信息

//获取0225b的commit组件信息,仅需打出前五位便可以获取到
git cat-file -p 0225b

今天先到这里吧,明天再把git分支和协同开发的相关内容补上😊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值