git内容补充-Git零基础快速入门-苏玲
https://git-scm.com/book/zh/v2
git历史
集中式版本控制管理:cvs、svn
分布式版本控制管理:git
基本命令
git config --list --global
:查看git配置
git init projectname
:新建仓库
工作目录-暂存区-版本历史
git add filename
:把文件从工作目录放到暂存区 (可被git管理)
git commit -m 'comment'
:提交到版本历史
git add -u
:对于已经被git跟踪的文件,全部add
可以结合使用:git commit -am 'comment'
对于已经被git跟踪的文件,全部commit
git status
:查看状态
git reset --hard
:暂存区的所有变更被清空
重命名文件
- 普通方法
- 在工作目录中重命名:
mv oldfile newfile
git add newfile
git rm oldfile
- 在工作目录中重命名:
git mv oldfile newfile
:不需要add!可以直接提交
日志
git log
:查看当前分支日志
git log --oneline
:简洁
git log -n4
:最近4次
结合使用:git log -n2 --oneline
git log --all
:所有分支
git log --graph
图形化
分支
git branch
:查看本地分支
结果:* master
git branch -v
:查看本地分支信息
结果:* master 74c0f18f merge bug
git branch -r
:查看远程分支
git branch -av
:查看所有分支信息
git checkout -b branchname 415c58
:创建分支
415c58是SHAI ID
git checkout master
:切换分支
切换分支时,HEAD内容会发生变化,内容指向当前分支
git cat-file -t 74c0f18
:查看类型,结果为commit
-p 查看内容
图形化界面
gitk
:打开图形化界面
Patch:某一次的变更集,文件变更内容
Tree:文件目录结构,完整文件内容
.git文件夹
config:配置
/refs:/heads和/tags等
/objects/pack: 2个字符的松散文件夹打包
/objects/1c: 1c是两个字符的文件夹,内容是名为32c7dc4db2e4494cc80a9d417523daf7512c3e的文件。
git cat-file -t 1c32c7dc4db2e4494cc80a9d417523daf7512c3e
结果是tree。
git cat-file -p 1c32c7dc4db2e4494cc80a9d417523daf7512c3e
查看内容:
040000 tree aa7ea3fa83ad4c362b76a3fd4cf10c5d021b3a2e config
040000 tree a889744e08d65dddfb36db73209caa9a2c29e727 controller
040000 tree 224fda9a113e92e2df3aed4a8b0853b0dbfa28dd management
040000 tree 4d2202faec0f467d70801ccb39e4735647c31785 service
040000 tree 7746f7cc99e6bf1523019361f9837d7ad56c3bbe util
git cat-file -p aa7ea3fa83ad4c362b76a3fd4cf10c5d021b3a2e
查看内容:
100644 blob 42da2509ccf8cea1661f5370a20552c0c1f4a895 ManagementSecurityConfig.java
commit、tree和blob
一个commit对应一个tree
tree:保存快照,包含tree和blob
blob:文件内容相同就是同一份blob,可以大大节约存储空间
理解为文件夹和文件
补充:win中 ls ~ dir、 cat ~ type
git内容补充-Git零基础快速入门-苏玲的更多相关文章
- [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]
[易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates] 实用知识 装箱crates 我们今天来讲讲装箱技术crates. 什么是crates? 英语翻译是: 英 [kre ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(15)|Unit Testing单元测试]
[易学易懂系列|rustlang语言|零基础|快速入门|(15)] 实用知识 Unit Testing单元测试 我们知道,在现代软件开发的过程中,单元测试对软件的质量极及重要. 今天我们来看看Rust ...
- 零基础快速入门web学习路线(含视频教程)
下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]
[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]
[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理]
[易学易懂系列|rustlang语言|零基础|快速入门|(20)|错误处理] 实用知识 错误处理 我们今天来讲讲Rust中的错误处理. 很多语言都有自己的错误处理方式,比如,java是异常处理机制. ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(4)|借用Borrowing]
[易学易懂系列|rustlang语言|零基础|快速入门|(4)] Borrowing 继续讲讲另一个重要的概念:借用(borrowing), 什么是借用? 我们先来看前一文章([易学易懂系列|rust ...
- 序言 - PHP零基础快速入门
我为什么要写<PHP零基础快速入门>? 原因: PHP 真心简单,适合零基础的人快速入门掌握,身边的人学习一两周上手开发的比比皆是: 市面上的文章或书籍对初学者并不友好,多半枯燥乏味,我相 ...
- 零基础快速入门SpringBoot2.0 (一)
零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Spr ...
随机推荐
- 谈下slot-scope
Vue里有个slot插槽的概念,常用的一般是命名的slot和默认的slot, 这里谈下slot-scope,Vue2.6后改成v-slot slot-scope场景是父组件用子组件的数据,但是样式自己 ...
- 小白的linux笔记1:CentOS 8 安装与设置
为了在服务器上跑爬虫,以及学SegNet,研究了一圈看来linux是必学品了.在自己电脑上安装了一个 1.官网下载iso,一个linux dvd是稳定版,选之,另一个stream版是更新更快的测试版, ...
- 【已解决】pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte
转载自勤奋的小青蛙本文链接地址: [已解决]pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in positi ...
- python学习----文件的操作(2)
1.文件指针的操作 f=open("yesterday","r",encoding="utf-8") #文件句柄 #文件内指针的操作 pri ...
- MySQL基础(5) | 存储过程
MySQL基础(5) | 存储过程 一.基础 结束符[重要] mysql的命令行执行每一条命令是以分号结尾的,也就是说识别是否为一条命令,是根据分号决定的. 然而存储过程中设计多条语句,很可能出现多个 ...
- mssql sqlserver 如何将一个日期数据转换为"年份-月份"的格式呢?
摘要: 下文讲述在sqlserver数据库中,将日期数据转换为指定格式的方法分享,如下所示: 实验环境:sqlserver 2008 R2 实现思路: 实现方法1: 使用year函数和month函数获 ...
- 剑指offer-面试题62-圆圈中最后剩下的数字-约瑟夫环-解法2
/* 题目: 约瑟夫环问题. 思路: 数学规律 f(n)=0(n=1),[f(n-1,m)+m]%n(n>1) */ #include<iostream> #include<l ...
- gcc 与g++
which gcc 查看gcc 主要针对 .c which g++ 查看g++ 主要针对 .cpp yum install gcc 安装gc ...
- switch 语句 总结笔记
1.switch 语句 语法: switch(expression) { case value1 : statement1; break; case value2 : statement2; brea ...
- 用Python20行代码实现人脸识别
OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python.注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑.为此小编建了个Python全栈免费答疑交 ...