导图社区 Git教程思维导图
这是一篇有关git常用命令的思维导图,包含了中级技能、基本用法的内容,知识全面详细,干货满满,现在不收藏,还在等什么呢。
编辑于2021-06-27 18:04:52正则表达式:文本处理的万能钥匙!一、基础概念:用模式描述字符串规则,掌握元字符、量词、分组即可入门二、核心语法:从简单匹配到复杂逻辑,精准控制文本三、高级特性:零宽断言等技巧解决棘手问题,注意不同语言引擎差异四、应用场景:格式验证、日志分析、批量替换,覆盖编程语言(Python/Java)、编辑器(VS Code)、数据库(MySQL)等附赠工具:regex101在线调试,regexr可视化学习,助你快速上手!
G1垃圾回收器:高效分代式内存管理的革新者! G1(GarbageFirst)是面向多核大内存的垃圾回收器,通过分区模型(Region)和分代设计实现低延迟。其核心包括内存模型(分区、分代、收集集合CSet)和活动周期:RSet维护、并发标记(初始标记→根扫描→并发标记→重新标记→清除)、混合收集(转移失败触发Full GC)以及年轻代收集(动态调整GC线程)。G1以可预测停顿为目标,平衡吞吐量与响应速度,适合现代Java应用。
"Redis三高架构与新版本黑科技,解锁大厂实战秘籍! 内容亮点: 1. 深度解析Redis高可用(哨兵/Cluster)、高扩展及性能调优核心策略 2 揭秘微博亿级流量下的缓存实践与监控体系化方案 3. 新版本特性全览:多线程IO、Stream类型、ACL安全防护等 4 避坑指南:缓存击穿/雪崩、bigkey、内存碎片等高频问题解决方案 5. 从Redis4到6的演进路径与未来模块化生态展望。
社区模板帮助中心,点此进入>>
正则表达式:文本处理的万能钥匙!一、基础概念:用模式描述字符串规则,掌握元字符、量词、分组即可入门二、核心语法:从简单匹配到复杂逻辑,精准控制文本三、高级特性:零宽断言等技巧解决棘手问题,注意不同语言引擎差异四、应用场景:格式验证、日志分析、批量替换,覆盖编程语言(Python/Java)、编辑器(VS Code)、数据库(MySQL)等附赠工具:regex101在线调试,regexr可视化学习,助你快速上手!
G1垃圾回收器:高效分代式内存管理的革新者! G1(GarbageFirst)是面向多核大内存的垃圾回收器,通过分区模型(Region)和分代设计实现低延迟。其核心包括内存模型(分区、分代、收集集合CSet)和活动周期:RSet维护、并发标记(初始标记→根扫描→并发标记→重新标记→清除)、混合收集(转移失败触发Full GC)以及年轻代收集(动态调整GC线程)。G1以可预测停顿为目标,平衡吞吐量与响应速度,适合现代Java应用。
"Redis三高架构与新版本黑科技,解锁大厂实战秘籍! 内容亮点: 1. 深度解析Redis高可用(哨兵/Cluster)、高扩展及性能调优核心策略 2 揭秘微博亿级流量下的缓存实践与监控体系化方案 3. 新版本特性全览:多线程IO、Stream类型、ACL安全防护等 4 避坑指南:缓存击穿/雪崩、bigkey、内存碎片等高频问题解决方案 5. 从Redis4到6的演进路径与未来模块化生态展望。
Git教程
Git介绍
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式管理控制系统
集中式管理控制系统
版本库存放于中央服务器,大家工作的时候,需要从服务器获得最新的版本
分布式管理控制系统
分布式版本控制系统没有,“中央服务器”,每个人的电脑都是一个完整的版本控制系统,在工作完后,把修改的部分推给对方,就可以了
基本用法
Git初始化配置
设置名字和email
git config --global 配置的值 例如:初始化 git config --global user.name "hujei" git config --global user.email "hu17530401275@163.com"
查看配置文件
vim ~/.gitconfig
获得一个Git库
Clone一个库
git clone url 例如: git clone https://github.com/shiyanlou/gitproject
初始化一个新的仓库
cd filename git init 例如: cd project git init
正常的工作流程
创建或修改文件
在git目录里创建文件 用git status查看Git仓库的状态 touch file git status
使用git add命令添加新创建或修改的文件到本地缓存区
git add file
回到以前的版本git reset --hard 版本唯一索引值
git reflog git reset --hard +log版本索引值
使用git commit命令提交到本地代码库
git commit -m "add 3 files" -m 添加本次修改的注释 git commit -a -m "add 3 files" -a 会将所有没有加到缓存区的修改也一起提交 本地仓库和远程仓库关联, git remote add origin https://github.com/kinglion580/shiyanlou.git git romote add 用于添加远程主机,origing是主机名
设置远程仓库地址
git remote add origin git@shiyanlou.com/HelloGit.git
使用git push 命令将本地代码库同步到远端代码库
git push origin master 将本地仓库同步到远端服务器
分支与合并
在团队开发中,假如你负责的功能需要一个月来完成,你就可以创建一个分支,只把代码提交到这个分支上,你每天的提交不会对他们造成影响
创建分支
git branch name 例如 git branch experimental 显示在哪个分支上 git branch experimental
切换分支
git checkout master
合并分支
把另一个分支的内容同步到主分支中 git merge branch name
删除分支
git branch -d experimental
撤销一个合并
git reset --hard HEAD^
快速向前合并
一个合并会产生一个合并提交,把两个父分支的每一行内容合并起来 当前的分支和另一个分支没有差异,commit的时候 ,git 不会提交新东西,只是将当前分支指向合并进来的分支
比较分支差异
git diff master test
git日志
查看日志
查看所有的提交 git log
日志统计
git log --star
格式化日志
git log --pretty=oneline short,medium,full,fuller,email,raw 可视化视图 git log --graph --pretty=oneline
日志排序
git log --pretty=format:'%h : %s' --topo-order --graph
分布式的工作流程
合并分支其他
git pull path 例如: git pull /tmp/myrepo master git pull 命令等同于执行两个操作: 先使用 git fetch 从远程分支抓取最新的分支修改信息,然后使用 git merge 把修改合并进当前的分支。
查看远程分支的修改
git log -p master ..myrepo/master
公共git仓库
开发过程中,通常大家都会使用一个公共的仓库,并 clone 到自己的开发环境中,完成一个阶段的代码后可以告诉目标仓库的维护者来 pull 自己的代码。 本地克隆 git clone 仓库A路径 git pull 仓库b的路径 远程克隆: git clone ssh://服务器/账号/仓库名称
将修改推到一个公共仓库
通过 http 或是 git 协议,其它维护者可以通过远程访问的方式抓取(fetch)你最近的修改,但是他们没有写权限。如何将本地私有仓库的最近修改主动上传到公共仓库中呢? 最简单的办法就是用 git push 命令,推送本地的修改到远程 Git 仓库,执行下面的命令: git push ssh://服务器名称
git标签
轻量级标签
签名的标签
git实例使用githubpage页面
步骤: 1.建立本地库文件夹: mkdir CV 2.git init 3.用户配置: git conifg --global user.name "" user.email "" 4.代码提交 git add . git commit -m "第一次" git remote add origin 远程仓库地址 git push -u origin master 5.设置托管源: master branch 打开: https://hujielala.github.io/love/index-2.html
建立Git与github的连接并克隆到本地
参考网站 https://blog.csdn.net/angus_01/article/details/80118088
安装git
开启ssh服务
生成ssh key
查看ssh key
复制ssh key
github中添加ssh key
创建github仓库
克隆仓库到本地
关联后推送
git push origin master git add git commit git push origin master
拉取仓库
git pull 仓库名(网址) 分支名
中级技能
忽略部分文件
项目中经常会生成一些 Git 系统不需要追踪(track)的文件。典型的是在编译生成过程中产生的文件或是编程器生成的临时备份文件。 当然,如果你不追踪(track)这些文件,平时可以不使用 git add 去把它们加到缓存区中,但是这样会很快变成一件烦人的事,你发现项目中到处有未追踪(untracked)的文件。这样也使 git add . 和 git commit -a 变得实际上没有用处,同时 git status 命令的输出也会有它们。 解决问题的方法: 创建 .gitignore并添加内容可以让git忽略 添加内容的文件 例如: foo.txt 就会让git忽略掉foo.txt 而且可以添加列外: !foo.html
rebase命令
对一段线性提交的历史进行编辑,删除,复制,粘贴。 目的:让提交历史干净简洁 前提:不要对提交到公共仓库的commit进行提交修改
stash命令
Git树名