GIT基本概念、核心命令及底层原理
2021/5/10 10:27:49
本文主要是介绍GIT基本概念、核心命令及底层原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
part 01:GIT基本概念与核心命令
1、基本概念
-
git是一个分布式的版本管理系统
-
git把内容按元数据方式存储
2、git核心命令的使用
-
初始化:git init 名称
-
把文件添加到暂存区:git add 文件名、git add -A (全部文件添加进去)
-
把文件从暂存区删除:git rm --cached 文件名
-
从暂存区提交到本地仓库:git commit 文件名/-am(全部文件) -m '注释'
-
查看文件状态:git status
-
添加远程仓库:git remote add 名称 远程仓库地址
-
推送文件到远程仓库:git push (远程仓库)
-
下载远程仓库项目:git clone 远程仓库地址 名称
-
更新本地代码:git pull
3、分支管理
-
查看当前分支:git branch [-avv](包含远程分支)
-a 查看本地分支和远程分支;-av查看本地分支和远程分支的详细信息;-avv查看本地分支和远程分支的关联信息
-
创建分支
-
基于当前分支创建:git branch 新分支名
-
基于某个分支创建:git branch 新分支名 分支名
-
基于远程分支创建:git branch 新分支名 origin/远程分支名
-
基于一个提交创建:git branch branchForCommit 提交id(git log 查看历史提交)
-
基于Tag创建:
-
-
删除分支:git branch -d 分支名 (多个删除空格隔开)
-
切换分支:git checkout 分支名
-
合并分支:git merge
4、远程仓库管理
-
查看远程仓库:git remote [-v]
-
添加远程仓库:git remote add 仓库名称 远程仓库地址
-
删除远程仓库:git remote remove 仓库名称
-
上传新分支到远程:git push --set-upstream 远程仓库名 分支名
5、tag管理(tag不能修改,和里程碑关联)
-
查看当前tag:git tag
-
创建tag:git tag 名称 [基于某个分支/基于某个提交]
-
删除tag:git tag -d 名称
6、日志管理
-
查看当前分支下所有提交日志:git log [--oneline(单行显示)]
-
查看指定分支的提交日志:git log 分支名
-
比较两个版本的区别:git log 分支名..分支名
-
以图表形式显示日志:git log --graph
-
当前改动文件内容详细显示:git show
part 02:GIT底层原理
1、git存储对象
-
git是一个内容寻址文件系统,其核心部分是一个简单的键值对数据库,向数据库插入任意内容,它会返回一个用于取回该值的hash键。【git add时生成,存储在.git/objects文件夹中】blob对象,key->文件内容
2、git树对象
-
git commit 时生成,存储最后一次提交文件的key和文件名、及文件夹树对象【链表】tree对象,每次更新树对象,上面节点都会变,后面节点不会变
3、commit对象
-
当前更改的快照,包含tree对象、parent、author 作者、committer 提交者、提交时注释
-
git cat-file -t ID号 查看类型
-
git cat-file -p ID号 查看内容
-
find .git/objects -type f 进行查看object对象的创建情况
这篇关于GIT基本概念、核心命令及底层原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?