Git分布式版本控制和远程库创建运用、git常用指令【尚硅谷笔记】
目录
1、Git
1.1、概述
1.2、版本控制
为什么需要版本控制
1.3、版本控制工具
集中式版本控制工具
分布式版本控制工具
1.4、Git简史
1.5、Git工作机制
1.6、Git和代码托管中心
2、Git安装
3、Git常用命令
3.1、设置用户签名(第一次必须设置,不然会报错,以后就不用设置了)
3.2、初始化本地库
3.3、查看本地库状态(初始化后才能查看该状态)
3.3.1、新增文件
3.5、提交本地库
3.5.1、将工作区的文件提交到本地库
3.6、修改文件
3.7、历史版本
3.7.1、查看历史版本
3.7.2、版本穿梭
3.8、切换版本原理
1、Git
1.1、概述
Git是一个免费的、开源的分布式版本控制系统 ,可以快速高效地处理从小型到大型的各种项目
Git易于学习,占地面积小,性能 极快 。 它具有廉价的本地 库 ,方便的暂存区域和多个工作
流分支等特性。 其性能优于 Subversion、 CVS、 Perforce和 ClearCase等 版本控制 工具。官网地址:http://git-scm.com/
1.2、版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换
例如:
为什么需要版本控制
1.3、版本控制工具
集中式版本控制工具
CVS、SVN、VSS
集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
分布式版本控制工具
Git、Mercurial、…
像Git这种分布式版本控制工具 ,客户端提取的不 最新版本的文件快照,而是把代码仓库完整地镜像下来 (本地库) 。这 样 任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行 恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份 。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷 :服务器断网的情况下也可以进行开发,因为版本控制是在本地进行的
每个客户端保存的也都是整个完整的项目 ,包含历史记录 更加安全
1.4、Git简史
1.5、Git工作机制
1.6、Git和代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
2、Git安装
点击跳转到我写的git安装博客
CSDNhttps://mp.csdn.net/mp_blog/creation/editor/124688665安装成功:出现这两个图标
点击 Git Bash Here
输入 git --version
3、Git常用命令
命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m " 日志信息 " 文件名 提交到本地库
git reflog 查看历史记录
git reset hard 版本号 版本穿梭3.1、设置用户签名(第一次必须设置,不然会报错,以后就不用设置了)
基本语法
git config --global user.name
用户名
git config --global user.email
邮箱并且在自己 用户 下有个 .gitconfig 文件,打开里面就是我们设置的用户签名
说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。
注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。
3.2、初始化本地库
基本语法:
git init
查看隐藏文件: ll a
3.3、查看本地库状态(初始化后才能查看该状态)
基本语法:
git status
首次查看,工作区没有任何文件
3.3.1、新增文件
语法:
vim hello.txt
,然后按 i 键进入 INSERT,要想复制粘贴 ,需要先按 esc 键,之后yy
复制,p
粘贴 保存文件:shift+:+w+q 或者shift+z+z 强制退出cat 文件名:查看
查看文件末尾最后一行 tail -n 1 文件名
新增文件后查看状态:多了Untracked files:(use "git add ........)这一行
git add 文件名
然后再 git status :状态变了
git rm --cached 文件名:删除暂存区的文件
3.5、提交本地库
3.5.1、将工作区的文件提交到本地库
3.6、修改文件
修改后的状态显示:modified :红色的说明此次修改还没有被添加到暂存区,如果添加到了暂存区就将会是绿色的
3.7、历史版本
3.7.1、查看历史版本
3.7.2、版本穿梭
此时就可以查看第一个版本的信息了(指针指向哪就可以查看哪个版本的文件)
3.8、切换版本原理
Git 切换版本,底层其实是移动的HEAD 指针,具体原理如下图所示
HEAD 指针指向 master 分支,master分支指向 first 版本,
之后有了 second 版本,master 指针指向 second 版本
Git分布式版本控制和远程库创建运用、git常用指令【尚硅谷笔记】相关推荐
- Git分布式版本控制遇到的问题如何把本地的项目上传到码市上
一.Git分布式版本控制遇到的问题 错误: $ git push -u origin master fatal: unable to access 'https://git.coding.net/Su ...
- 运维之道 | Git分布式版本控制系统安装、配置
Git分布式版本控制系统安装.配置 一.Git简介 Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上. SVN是集中式版本控制系统,版本库是集中放在中央服务器 ...
- Git第六章:1.如何创建Github远程库、如何为远程库创建别名、如何推送本地库至github远程库、如何将github远程库拉取至本地库
一.创建github远程库 创建github远程库步骤: 1.登录github 2.右上角的 + 3.选择 new repository,新建仓库 4.正常选择,仓库名称,直接创建即可,然后就是经典的 ...
- Git分布式版本控制工具
Git分布式版本控制工具 文章目录 Git分布式版本控制工具 1 目标 2 概述 2.1 开发中的实际场景 2.2 版本控制器的方式 2.3 SVN 2.4 Git 2.5 Git工作流程图 3 Gi ...
- 运维之道 | Git分布式版本控制常用命令解析
Git分布式版本控制常用命令解析 一.创建版本库 版本库(repository)也叫仓库,可以看做一个目录,这个目录里的所以文件都由Git进行管理,每个文件的修改.删除,Git都能跟踪 1.选择一个合 ...
- Git添加和克隆远程库
首先我们得有一个GitHub账号,然后把当前电脑的SSH Key添加到GitHub上面 第1步:创建SSH Key.在用户主目录下(可用 "cd ~"进入用户主目录),看看有没有. ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- Idea Git 拉取全部远程分支, Idea Git 删除远程分支
Idea Git 拉取全部远程分支, Idea Git 删除远程分支 一.拉取全部远程分支 1.方法一: 选中项目 --- 右键 --- Git --- Fetch 2.方法二:Git 栏目 --- ...
- Git分布式版本控制工具【IDEA版】【安装和使用以及上传代码到Gitee】(一篇文章精通系列)
一.目标 了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用idea操作git 二.Git概述 1.开发中的实际场景 场景一:备份 小明负责的模块就要 ...
最新文章
- 要让机器人切土豆丝,英伟达首先给土豆建了个模
- 【以太坊】搭建测试网络之ubuntu系统安装golang环境以及helloworld
- 【NLP】经典分类模型朴素贝叶斯解读
- Tensorflow[实战篇]——Face Recognition
- 骚年快答 | 技术中台与业务中台都是啥?
- json字符串与json对象之间的转换
- 计算机计算exp函数原理,exp()函数的数值计算中的系数
- 设计模式之不简单的工厂模式(二)
- 环形buffer缓冲区
- ORCALE SYNONYM SEQUENCE
- select函数fdwrite用法_通俗易懂的学会:SQL窗口函数
- 《电子元器件的可靠性》——3.7节电子元器件失效率鉴定试验
- Linux Fedora 15 安装 Atheros AR9285 无线网卡驱动
- 烽火交换机S2000单独划分VLAN的方法
- C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
- Keil出现Error:Flash Download failed - Could not load file
- 四旋翼飞行器的原理研究和建模
- SGI STL的rb_tree浅析
- ramdisk和linux PE,[PE教程]WINPE下如何再建一个Ramdisk盘
- 非线性规划转化为线性规划问题(司守奎老师数模例题)-------数模学习笔记一