Git
介绍Git相关的内容
AQin1012
少年有他的山海
展开
-
【GIT】git worktree 本地多分支切换开发
情景 根据用户的新需求,新建分支并在此分支上开展工作 新需求还未完成,线上分支出现紧急问题需要处理 为此紧急问题新建一个分支,修复后推送至线上分支 解决方式提交将已完成的部分先提交(git否则会将在当前分支已修改但是未提交的内容带到新切换的分支上),切换到线上分支,新建分支进行修复 git add . + git commit 修复完成后,切换回该分支即可 暂存将已完成的部分先暂存(git stash),切换到线上分支,新建分支进行修复 g原创 2022-04-13 16:37:33 · 1039 阅读 · 0 评论 -
【GIT】git gc 真的清理掉了垃圾对象吗?
了解Java的同学应该听过GC这个词 ➡ garbage clean,没错清理垃圾对象~首先我们先确定下在git中,垃圾对象是怎么产生的?主要有两个途径: 由于多余的add 已删除的分支 那么,git gc真的是像Java一样把git中产生的垃圾对象清除掉了吗---·?下面用一个测试来瞅下(嘿嘿》〉着急看结论的同学可以直接滑到文末~) 新建一个名为aqin-branch(名字自己随意~)的分支 git checkout -b aqin-branch原创 2022-04-02 16:48:19 · 238761 阅读 · 2 评论 -
【GIT】git对象的压缩(附带文本与二进制的压缩对比)
主要特点文本文件会压缩到比较小的大小,二进制压缩后大小变化则不太明显求证~测个试吧 工作区新增两个文件(一个文本文件+二进制文件) ls -lh 查看文件大小 将他们添加进索引区(git add xxx) 对比压缩结果 git pack 的压缩 对aqin.txt这个文件进行少量修改(我这里修改了两次),并进行add git gc 压缩当前仓库对象git unpack 解压缩 使用du -sh .git原创 2022-04-02 14:17:57 · 1437 阅读 · 0 评论 -
【GIT】Git基本原理介绍之git中的对象
git中需要有三种对象blob对象二进制大对象 主要用于存放文件的内容(数据的二进制流)tree对象主要用于存放blob对象(有点像个文件夹) 解决文件名保存的问题(blob对象是不保存文件名的)commit对象是工作树的一个快照 一次commit会产生一个commit对象和tree对象 一个commit对象中包含作者信息/提交者信息和一个tree对象当然别忘了,还有一个~tag对象tag , 标签,顾名思义,标签是为了标记某种事物。 tag是一个指针,指向某个原创 2022-03-31 19:20:10 · 351 阅读 · 0 评论 -
【GIT】git commit后发生了什么?
来我们先捋一遍从新建文件到commit的流程: 新建两个txt文件 aqin1012@aqin1012deMacBook-Pro git-test % git add aqin.txtaqin1012@aqin1012deMacBook-Pro git-test % git add aqin2.txt git add 其中一个 aqin1012@aqin1012deMacBook-Pro git-test % git add aqin.txt原创 2022-03-30 18:53:09 · 1543 阅读 · 0 评论 -
【GIT】Git基本原理介绍之git init & git add
git init 初始化代码仓库生成.git文件夹 查看文件目录树 tree -a watch -n .5 tree -a 每0.5秒刷新一次当前目录的树状列表rm -rf .git/hooks/*.sample 移除目录.git/hooks/下所有以.sample结尾的文件 config 代码仓库配置文件(本地) cat .git/config 查看本地配置 cat ~/.gitconfig 查看...原创 2022-03-28 17:44:43 · 241398 阅读 · 0 评论